From c4207b25c7e2c90a3cb25af524c17d961face86c Mon Sep 17 00:00:00 2001 From: guowenxue <guowenxue@gmail.com> Date: Thu, 14 Apr 2022 11:24:28 +0800 Subject: [PATCH] remove space in the end of line --- booster/util_time.h | 40 ++-- booster/logger.h | 4 booster/ringbuf.h | 57 +++++ booster/logger.c | 26 +- booster/test/logger.c | 6 booster/ringbuf.c | 106 ++++++++++ booster/linux_list.h | 4 booster/util_proc.c | 266 +++++++++++++------------- booster/comport.h | 14 booster/test/comport.c | 26 +- booster/comport.c | 42 ++-- booster/iniparser.c | 2 booster/util_proc.h | 2 13 files changed, 379 insertions(+), 216 deletions(-) diff --git a/booster/comport.c b/booster/comport.c index 8f45e45..f6d9d10 100644 --- a/booster/comport.c +++ b/booster/comport.c @@ -4,11 +4,11 @@ * * Filename: cp_comport.c * Description: It's the comport operate library. - * + * * Version: 2.0.0(10/17/2018~) * Author: Guo Wenxue <guowenxue@gmail.com> * ChangeLog: 1, Release initial version on "10/17/2018 03:33:25 PM" - * + * ********************************************************************************/ #include "comport.h" @@ -21,10 +21,10 @@ -/* +/* * description: Open the serial port * - * input args: $comport: corresponding comport point + * input args: $comport: corresponding comport point * $dev_name: The comport device name path, such as '/dev/ttyS3' * $baudrate: The baudrate, such as 115200 * $settings: The databit,parity,stopbit,flowctrl settings, such as '8N1N' @@ -80,7 +80,7 @@ goto CleanUp; } } - else + else { rv = -5; goto CleanUp; @@ -88,7 +88,7 @@ if (0 != tcgetattr(comport->fd, &old_cfg)) { - rv = -6; // Failed to get Com settings + rv = -6; // Failed to get Com settings goto CleanUp; } @@ -123,11 +123,11 @@ /* Set the parity */ switch (comport->parity) { - case 0x01: // Odd + case 0x01: // Odd new_cfg.c_cflag |= (PARENB | PARODD); new_cfg.c_cflag |= (INPCK | ISTRIP); break; - case 0x02: // Even + case 0x02: // Even new_cfg.c_cflag |= PARENB; new_cfg.c_cflag &= ~PARODD;; new_cfg.c_cflag |= (INPCK | ISTRIP); @@ -153,7 +153,7 @@ /* Set flow control */ switch (comport->flowctrl) { - case 1: // Software control + case 1: // Software control case 3: new_cfg.c_cflag &= ~(CRTSCTS); new_cfg.c_iflag |= (IXON | IXOFF); @@ -276,7 +276,7 @@ tcflush(comport->fd, TCIFLUSH); if (0 != tcsetattr(comport->fd, TCSANOW, &new_cfg)) { - rv = -7; // Failed to set device com port settings + rv = -7; // Failed to set device com port settings goto CleanUp; } @@ -292,8 +292,8 @@ /* - * description: close comport - * input args: $comport: corresponding comport point + * description: close comport + * input args: $comport: corresponding comport point */ void comport_close(comport_t *comport) @@ -355,10 +355,10 @@ { rv = -4; goto CleanUp; - } + } - left_bytes -= rv; - ptr += rv; + left_bytes -= rv; + ptr += rv; } rv = 0; @@ -407,21 +407,21 @@ iRet = select(comport->fd + 1, &rdfds, 0, &exfds, &stTime); if (0 == iRet) { - rv = 0; + rv = 0; goto CleanUp; } else if (0 < iRet) { if (0 != FD_ISSET(comport->fd, &exfds)) { - rv = -6; + rv = -6; COM_PRINT("Error checking recv status.\n"); goto CleanUp; } if (0 == FD_ISSET(comport->fd, &rdfds)) { - rv = 0; + rv = 0; COM_PRINT("No incoming data.\n"); goto CleanUp; } @@ -431,12 +431,12 @@ if (EINTR == errno) { COM_PRINT("catch interrupt signal.\n"); - rv = 0; + rv = 0; } else { COM_PRINT("Check recv status failure.\n"); - rv = -7; + rv = -7; } goto CleanUp; @@ -480,7 +480,7 @@ /************************************************************************************** * Description: Set the comport databit,parity,stopbit,flowctrl into the comport structure * Input Args: comport: the comport_t pointer - * settings: The databit/parity/stopbit/flowctrl settings as like "8N1N" + * settings: The databit/parity/stopbit/flowctrl settings as like "8N1N" * Output Args: NONE * Return Value: NONE *************************************************************************************/ diff --git a/booster/comport.h b/booster/comport.h index 244e0cf..755e02e 100644 --- a/booster/comport.h +++ b/booster/comport.h @@ -3,12 +3,12 @@ * All rights reserved. * * Filename: comport.h - * Description: This head file is for the common TTY/Serial port operator library - * + * Description: This head file is for the common TTY/Serial port operator library + * * Version: 1.0.0(10/17/2018~) * Author: Guo Wenxue <guowenxue@gmail.com> * ChangeLog: 1, Release initial version on "10/17/2018 03:33:25 PM" - * + * ********************************************************************************/ #ifndef __COMPORT_H_ #define __COMPORT_H_ @@ -50,10 +50,10 @@ } comport_t; -/* +/* * description: Open the comport specified by $comport * - * input args: $comport: corresponding comport point + * input args: $comport: corresponding comport point * $devname: The comport device name path, such as '/dev/ttyS3' * $baudrate: The baudrate, such as 115200 * $settings: The databit,parity,stopbit,flowctrl settings, such as '8N1N' @@ -63,8 +63,8 @@ extern int comport_open(comport_t *comport, const char *devname, long baudrate, const char *settings); /* - * description: close comport - * input args: $comport: corresponding comport point + * description: close comport + * input args: $comport: corresponding comport point */ extern void comport_close(comport_t *comport); diff --git a/booster/iniparser.c b/booster/iniparser.c index 95957f5..8694dd4 100644 --- a/booster/iniparser.c +++ b/booster/iniparser.c @@ -1,7 +1,7 @@ /*-------------------------------------------------------------------------*/ /** - @file iniparser.c v4.1 + @file iniparser.c v4.1 @author N. Devillard @url https://github.com/ndevilla/iniparser @brief Parser for ini files. diff --git a/booster/linux_list.h b/booster/linux_list.h index 74d8e57..9ac0720 100644 --- a/booster/linux_list.h +++ b/booster/linux_list.h @@ -4,11 +4,11 @@ * * Filename: linux_list.h * Description: This file is copied from Linux kernel, which provide link list API. - * + * * Version: 1.0.0(08/09/2020) * Author: Guo Wenxue <guowenxue@gmail.com> * ChangeLog: 1, Release initial version on "08/09/2020 02:24:34 AM" - * + * ********************************************************************************/ #ifndef _LINUX_LIST_H diff --git a/booster/logger.c b/booster/logger.c index 692635f..a821e1e 100644 --- a/booster/logger.c +++ b/booster/logger.c @@ -4,11 +4,11 @@ * * Filename: logger.c * Description: This file is the linux infrastructural logger system library - * + * * Version: 1.0.0(08/08/2020~) * Author: Guo Wenxue <guowenxue@gmail.com> * ChangeLog: 1, Release initial version on "08/08/2020 04:24:01 PM" - * + * ********************************************************************************/ #include "logger.h" @@ -97,9 +97,9 @@ /* use standard error as output */ - if( !log_file || log_file[0]=='\0' || !strcmp(log_file, LOG_STDERR)) + if( !log_file || log_file[0]=='\0' || !strcmp(log_file, LOG_STDERR)) { - strncpy(logger->file, LOG_STDERR, FILENAME_LEN); + strncpy(logger->file, LOG_STDERR, FILENAME_LEN); logger->flag |= FLAG_LOGGER_CONSOLE; logger->level = level; logger->fp = stderr; @@ -108,13 +108,13 @@ goto OUT; } - strncpy(logger->file, log_file, FILENAME_LEN); + strncpy(logger->file, log_file, FILENAME_LEN); logger->flag |= FLAG_LOGGER_FILE; logger->level = level; - logger->size = log_size; + logger->size = log_size; log_rollback_size = log_size <= 0 ? LOG_ROLLBACK_NONE : log_size*1024; /* Unit KiB */ - + filemode = (log_rollback_size==LOG_ROLLBACK_NONE) ? "a+" : "w+"; logger->fp = fopen(logger->file, filemode); @@ -169,8 +169,8 @@ { log_close(); filemode = log_rollback_size==LOG_ROLLBACK_NONE ? "a+" : "w+"; - logger->fp = fopen(logger->file, filemode); - + logger->fp = fopen(logger->file, filemode); + if (logger->fp == NULL) rc = -2; } @@ -316,10 +316,10 @@ " " " " " ???????????????" - "????????????????" - "????????????????" - "????????????????" - "????????????????" + "????????????????" + "????????????????" + "????????????????" + "????????????????" "????????????????"; void logger_dump(int level, char *buf, int len) diff --git a/booster/logger.h b/booster/logger.h index 786bdf8..5505101 100644 --- a/booster/logger.h +++ b/booster/logger.h @@ -8,7 +8,7 @@ * Version: 1.0.0(08/08/2020~) * Author: Guo Wenxue <guowenxue@gmail.com> * ChangeLog: 1, Release initial version on "08/08/2020 05:16:56 PM" - * + * ********************************************************************************/ #ifndef _LOGGER_H_ @@ -32,7 +32,7 @@ #define FILENAME_LEN 64 #endif -#define LOG_STDERR "stderr" /* Debug mode log file is console */ +#define LOG_STDERR "stderr" /* Debug mode log file is console */ #define LOG_ROLLBACK_SIZE 512 /* Default rollback log size */ #define LOG_ROLLBACK_NONE 0 /* Set rollback size to 0 will not rollback */ diff --git a/booster/ringbuf.c b/booster/ringbuf.c new file mode 100644 index 0000000..f79d496 --- /dev/null +++ b/booster/ringbuf.c @@ -0,0 +1,106 @@ +/******************************************************************************** + * Copyright: (C) 2021 LingYun IoT System Studio + * All rights reserved. + * + * Filename: ringbuf.h + * Description: This head file + * + * Version: 1.0.0(2021年04月29日) + * Author: Guo Wenxue <guowenxue@gmail.com> + * ChangeLog: 1, Release initial version on "2021年04月29日 12时18分32秒" + * + ********************************************************************************/ +#include <string.h> +#include <assert.h> +#include "ringbuf.h" + +void rb_init (struct ring_buffer *ring, unsigned char* buff, int size) +{ + memset (ring, 0, sizeof (struct ring_buffer)); + ring->rd_pointer = 0; + ring->wr_pointer = 0; + ring->buffer= buff; + ring->size = size; +} + + +int rb_write (struct ring_buffer *rb, unsigned char * buf, int len) +{ + int total; + int i; + + /* total = len = min(space, len) */ + total = rb_free_size(rb); + if(len > total) + len = total; + else + total = len; + + i = rb->wr_pointer; + if(i + len > rb->size) + { + memcpy(rb->buffer + i, buf, rb->size - i); + buf += rb->size - i; + len -= rb->size - i; + i = 0; + } + + memcpy(rb->buffer + i, buf, len); + rb->wr_pointer = i + len; + return total; +} + + +int rb_free_size (struct ring_buffer *rb) +{ + return (rb->size - 1 - rb_data_size(rb)); +} + + +int rb_read (struct ring_buffer *rb, unsigned char * buf, int max) +{ + int total; + int i; + + /* total = len = min(used, len) */ + total = rb_data_size(rb); + + if(max > total) + max = total; + else + total = max; + + + i = rb->rd_pointer; + if(i + max > rb->size) + { + memcpy(buf, rb->buffer + i, rb->size - i); + buf += rb->size - i; + max -= rb->size - i; + i = 0; + } + + memcpy(buf, rb->buffer + i, max); + rb->rd_pointer = i + max; + + return total; +} + +int rb_data_size (struct ring_buffer *rb) +{ + return ((rb->wr_pointer - rb->rd_pointer) & (rb->size-1)); +} + +void rb_clear (struct ring_buffer *rb) +{ + memset(rb->buffer,0,rb->size); + rb->rd_pointer=0; + rb->wr_pointer=0; +} + +unsigned char rb_peek(struct ring_buffer* rb, int index) +{ + assert(index < rb_data_size(rb)); + + return rb->buffer[((rb->rd_pointer + index) % rb->size)]; +} diff --git a/booster/ringbuf.h b/booster/ringbuf.h new file mode 100644 index 0000000..23553cc --- /dev/null +++ b/booster/ringbuf.h @@ -0,0 +1,57 @@ +/******************************************************************************** + * Copyright: (C) 2021 LingYun IoT System Studio + * All rights reserved. + * + * Filename: ringbuf.h + * Description: This head file + * + * Version: 1.0.0(2021年04月29日) + * Author: Guo Wenxue <guowenxue@gmail.com> + * ChangeLog: 1, Release initial version on "2021年04月29日 12时18分32秒" + * + ********************************************************************************/ + +#ifndef _RINGBUF_H_ +#define _RINGBUF_H_ + +struct ring_buffer +{ + unsigned char *buffer; + int wr_pointer; + int rd_pointer; + int size; +}; + + +/* Initial the ring buffer */ +void rb_init (struct ring_buffer *ring, unsigned char *buff, int size) ; + + +/* Description: Write $len bytes data in $buf into ring buffer $rb + * Return Value: The actual written into ring buffer data size, if ring buffer + * left space size small than $len, then only part of the data be written into. + */ +int rb_write (struct ring_buffer *rb, unsigned char *buf, int len) ; + + +/* Get ring buffer left free size */ +int rb_free_size (struct ring_buffer *rb); + + +/* Read $max bytes data from ring buffer $rb to $buf */ +int rb_read (struct ring_buffer *rb, unsigned char *buf, int max); + + +/* Read a specify $index byte data in ring buffer $rb */ +unsigned char rb_peek(struct ring_buffer *rb, int index); + + +/* Get data size in the ring buffer */ +int rb_data_size (struct ring_buffer *rb); + + +/* Clear the ring buffer data */ +void rb_clear (struct ring_buffer *rb) ; + +#endif /* ----- #ifndef _RINGBUF_H_ ----- */ + diff --git a/booster/test/comport.c b/booster/test/comport.c index 267a94c..df216dc 100644 --- a/booster/test/comport.c +++ b/booster/test/comport.c @@ -1,15 +1,15 @@ /********************************************************************************* - * Copyright: (C) 2021 Guo Wenxue <guowenxue@gmail.com> + * Copyright: (C) 2021 Guo Wenxue <guowenxue@gmail.com> * All rights reserved. * * Filename: comport.c - * Description: This file used to do ioctl() on common device or communicate + * Description: This file used to do ioctl() on common device or communicate * with serial port/TTY device. - * + * * Version: 1.0.0(5/1/2021~) * Author: Guo Wenxue <guowenxue@gmail.com> * ChangeLog: 1, Release initial version on "5/1/2021 10:08:05 AM" - * + * ********************************************************************************/ #include <getopt.h> #include <libgen.h> @@ -60,7 +60,7 @@ case 'd': dev_name = optarg; break; - + case 'b': baudrate = atoi(optarg); break; @@ -211,7 +211,7 @@ void stdin_nonblock(void) { struct termios ttystate; - + //get the terminal state tcgetattr(STDIN_FILENO, &ttystate); @@ -219,21 +219,21 @@ ttystate.c_lflag &= ~ICANON; //minimum of number input read. ttystate.c_cc[VMIN] = 1; - + //set the terminal attributes. tcsetattr(STDIN_FILENO, TCSANOW, &ttystate); -} - +} + int kbhit(void) -{ +{ struct timeval tv; fd_set fds; - tv.tv_sec = 0; - tv.tv_usec = 0; + tv.tv_sec = 0; + tv.tv_usec = 0; FD_ZERO(&fds); FD_SET(STDIN_FILENO, &fds); //STDIN_FILENO is 0 select(STDIN_FILENO + 1, &fds, NULL, NULL, &tv); return FD_ISSET(STDIN_FILENO, &fds); -} +} diff --git a/booster/test/logger.c b/booster/test/logger.c index bed33cb..851ba9a 100644 --- a/booster/test/logger.c +++ b/booster/test/logger.c @@ -4,11 +4,11 @@ * * Filename: logger.c * Description: This file is logger system sample code. - * + * * Version: 1.0.0(17/07/21) * Author: Guo Wenxue <guowenxue@gmail.com> * ChangeLog: 1, Release initial version on "17/07/21 15:51:04" - * + * ********************************************************************************/ #include "logger.h" @@ -38,5 +38,5 @@ log_close(); return 0; -} +} diff --git a/booster/util_proc.c b/booster/util_proc.c index 9474851..a17ea29 100644 --- a/booster/util_proc.c +++ b/booster/util_proc.c @@ -4,12 +4,12 @@ * * Filename: util_proc.c * Description: This file is the process API - * + * * Version: 1.0.0(7/06/2020) * Author: Guo Wenxue <guowenxue@gmail.com> * ChangeLog: 1, Release initial version on "7/06/2020 09:19:02 PM" - * - ********************************************************************************/ + * + ********************************************************************************/ #include <stdio.h> #include <stdlib.h> @@ -52,7 +52,7 @@ case SIGPIPE: log_warn("SIGPIPE - warnning\n"); break; - + default: break; } @@ -82,7 +82,7 @@ sigaction(SIGPIPE, &sigact, 0); /* catch broken pipe */ #if 0 sigaction(SIGCHLD, &sigact, 0); /* catch child process return */ - sigaction(SIGUSR2, &sigact, 0); /* catch USER signal */ + sigaction(SIGUSR2, &sigact, 0); /* catch USER signal */ #endif } @@ -96,25 +96,25 @@ * Return : NONE * *****************************************************************************/ void daemonize(int nochdir, int noclose) -{ - int rv, fd; - int i; - - /* already a daemon */ - if (1 == getppid()) - return; - +{ + int rv, fd; + int i; + + /* already a daemon */ + if (1 == getppid()) + return; + /* fork error */ - rv = fork(); - if (rv < 0) exit(1); - + rv = fork(); + if (rv < 0) exit(1); + /* parent process exit */ if (rv > 0) - exit(0); - + exit(0); + /* obtain a new process session group */ - setsid(); - + setsid(); + if (!noclose) { /* close all descriptors */ @@ -122,29 +122,29 @@ { //if (i != g_logPtr->fd) close(i); - } + } /* Redirect Standard input [0] to /dev/null */ - fd = open("/dev/null", O_RDWR); + fd = open("/dev/null", O_RDWR); /* Redirect Standard output [1] to /dev/null */ - dup(fd); + dup(fd); /* Redirect Standard error [2] to /dev/null */ - dup(fd); - } - - umask(0); - + dup(fd); + } + + umask(0); + if (!nochdir) - chdir("/"); - + chdir("/"); + return; } /* **************************************************************************** * FunctionName: check_set_program_running - * Description : check program already running or not, if not then run it and + * Description : check program already running or not, if not then run it and * record pid into $pidfile * Inputs : daemon: set program running in daemon or not * pid_file:The record PID file path @@ -157,13 +157,13 @@ if( !pidfile ) return 0; - if( check_daemon_running(pidfile) ) + if( check_daemon_running(pidfile) ) { log_err("Program already running, process exit now"); return -1; } - if( daemon ) + if( daemon ) { if( set_daemon_running(pidfile) < 0 ) { @@ -193,41 +193,41 @@ * Return : 0: Record successfully Else: Failure * *****************************************************************************/ int record_daemon_pid(const char *pid_file) -{ - struct stat fStatBuf; - int fd = -1; +{ + struct stat fStatBuf; + int fd = -1; int mode = S_IROTH | S_IXOTH | S_IRGRP | S_IXGRP | S_IRWXU; - char ipc_dir[64] = { 0 }; - - strncpy(ipc_dir, pid_file, 64); + char ipc_dir[64] = { 0 }; - /* dirname() will modify ipc_dir and save the result */ - dirname(ipc_dir); - + strncpy(ipc_dir, pid_file, 64); + + /* dirname() will modify ipc_dir and save the result */ + dirname(ipc_dir); + /* If folder pid_file PATH doesnot exist, then we will create it" */ - if (stat(ipc_dir, &fStatBuf) < 0) - { - if (mkdir(ipc_dir, mode) < 0) - { - log_err("cannot create %s: %s\n", ipc_dir, strerror(errno)); - return -1; - } - - (void)chmod(ipc_dir, mode); - } - - /* Create the process running PID file */ + if (stat(ipc_dir, &fStatBuf) < 0) + { + if (mkdir(ipc_dir, mode) < 0) + { + log_err("cannot create %s: %s\n", ipc_dir, strerror(errno)); + return -1; + } + + (void)chmod(ipc_dir, mode); + } + + /* Create the process running PID file */ mode = S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH; if ((fd = open(pid_file, O_RDWR | O_CREAT | O_TRUNC, mode)) >= 0) { - char pid[PID_ASCII_SIZE]; - snprintf(pid, sizeof(pid), "%u\n", (unsigned)getpid()); - write(fd, pid, strlen(pid)); - close(fd); + char pid[PID_ASCII_SIZE]; + snprintf(pid, sizeof(pid), "%u\n", (unsigned)getpid()); + write(fd, pid, strlen(pid)); + close(fd); log_dbg("Record PID<%u> to file %s.\n", getpid(), pid_file); - } - else + } + else { log_err("cannot create %s: %s\n", pid_file, strerror(errno)); return -1; @@ -244,24 +244,24 @@ * Return : pid_t: The daemon process PID number * *****************************************************************************/ pid_t get_daemon_pid(const char *pid_file) -{ - FILE *f; - pid_t pid; - +{ + FILE *f; + pid_t pid; + if ((f = fopen(pid_file, "rb")) != NULL) - { - char pid_ascii[PID_ASCII_SIZE]; - (void)fgets(pid_ascii, PID_ASCII_SIZE, f); - (void)fclose(f); - pid = atoi(pid_ascii); - } + { + char pid_ascii[PID_ASCII_SIZE]; + (void)fgets(pid_ascii, PID_ASCII_SIZE, f); + (void)fclose(f); + pid = atoi(pid_ascii); + } else { log_err("Can't open PID record file %s: %s\n", pid_file, strerror(errno)); return -1; - } + } return pid; -} +} /* **************************************************************************** * FunctionName: check_daemon_running @@ -272,43 +272,43 @@ * *****************************************************************************/ int check_daemon_running(const char *pid_file) { - int rv = -1; + int rv = -1; struct stat fStatBuf; - rv = stat(pid_file, &fStatBuf); - if (0 == rv) - { - pid_t pid = -1; + rv = stat(pid_file, &fStatBuf); + if (0 == rv) + { + pid_t pid = -1; printf("PID record file \"%s\" exist.\n", pid_file); pid = get_daemon_pid(pid_file); if (pid > 0) /* Process pid exist */ - { - if ((rv = kill(pid, 0)) == 0) - { - printf("Program with PID[%d] seems running.\n", pid); - return 1; - } - else /* Send signal to the old process get no reply. */ - { - printf("Program with PID[%d] seems exit.\n", pid); - remove(pid_file); - return 0; - } - } - else if (0 == pid) - { - printf("Can not read program PID form record file.\n"); - remove(pid_file); - return 0; - } + { + if ((rv = kill(pid, 0)) == 0) + { + printf("Program with PID[%d] seems running.\n", pid); + return 1; + } + else /* Send signal to the old process get no reply. */ + { + printf("Program with PID[%d] seems exit.\n", pid); + remove(pid_file); + return 0; + } + } + else if (0 == pid) + { + printf("Can not read program PID form record file.\n"); + remove(pid_file); + return 0; + } else /* Read pid from file "pid_file" failure */ - { - printf("Read record file \"%s\" failure, maybe program still running.\n", pid_file); - return 1; - } - } - + { + printf("Read record file \"%s\" failure, maybe program still running.\n", pid_file); + return 1; + } + } + return 0; } @@ -321,25 +321,25 @@ * *****************************************************************************/ int stop_daemon_running(const char *pid_file) { - pid_t pid = -1; + pid_t pid = -1; struct stat fStatBuf; if ( stat(pid_file, &fStatBuf) < 0) return 0; - printf("PID record file \"%s\" exist.\n", pid_file); + printf("PID record file \"%s\" exist.\n", pid_file); pid = get_daemon_pid(pid_file); if (pid > 0) /* Process pid exist */ - { - while ( (kill(pid, 0) ) == 0) - { + { + while ( (kill(pid, 0) ) == 0) + { kill(pid, SIGTERM); sleep(1); - } - - remove(pid_file); - } - + } + + remove(pid_file); + } + return 0; } @@ -347,20 +347,20 @@ /* **************************************************************************** * FunctionName: set_daemon_running - * Description : Set the programe running as daemon if it's not running and record + * Description : Set the programe running as daemon if it's not running and record * its PID to the pid_file. * Inputs : pid_file: The record running daemon program PID * Output : NONE * Return : 0: Successfully. 1: Failure * *****************************************************************************/ int set_daemon_running(const char *pid_file) -{ - daemonize(0, 1); - log_nrml("Program running as daemon [PID:%d].\n", getpid()); - - if (record_daemon_pid(pid_file) < 0) - { - log_err("Record PID to file \"%s\" failure.\n", pid_file); +{ + daemonize(0, 1); + log_nrml("Program running as daemon [PID:%d].\n", getpid()); + + if (record_daemon_pid(pid_file) < 0) + { + log_err("Record PID to file \"%s\" failure.\n", pid_file); return -2; } @@ -373,23 +373,23 @@ int rv = 0; pthread_t tid; - pthread_attr_t thread_attr; + pthread_attr_t thread_attr; /* Initialize the thread attribute */ - rv = pthread_attr_init(&thread_attr); + rv = pthread_attr_init(&thread_attr); if(rv) return -1; /* Set the stack size of the thread */ - rv = pthread_attr_setstacksize(&thread_attr, 120 * 1024); + rv = pthread_attr_setstacksize(&thread_attr, 120 * 1024); if(rv) goto CleanUp; - + /* Set thread to detached state:Don`t need pthread_join */ - rv = pthread_attr_setdetachstate(&thread_attr, PTHREAD_CREATE_DETACHED); + rv = pthread_attr_setdetachstate(&thread_attr, PTHREAD_CREATE_DETACHED); if(rv) goto CleanUp; - + /* Create the thread */ rv = pthread_create(&tid, &thread_attr, thread_workbody, thread_arg); if(rv) @@ -407,7 +407,7 @@ } /* Destroy the attributes of thread */ - pthread_attr_destroy(&thread_attr); + pthread_attr_destroy(&thread_attr); return rv; } @@ -417,13 +417,13 @@ { char cmd[256]; va_list args; - - memset(cmd, 0, sizeof(cmd)); - - va_start(args, format); + + memset(cmd, 0, sizeof(cmd)); + + va_start(args, format); vsnprintf(cmd, sizeof(cmd), format, args); - va_end(args); - + va_end(args); + system(cmd); } diff --git a/booster/util_proc.h b/booster/util_proc.h index 009cf70..4af3cf2 100644 --- a/booster/util_proc.h +++ b/booster/util_proc.h @@ -8,7 +8,7 @@ * Version: 1.0.0(7/06/2012~) * Author: Guo Wenxue <guowenxue@gmail.com> * ChangeLog: 1, Release initial version on "7/06/2012 09:21:33 PM" - * + * ********************************************************************************/ #ifndef __UTIL_PROC_H_ diff --git a/booster/util_time.h b/booster/util_time.h index adf7391..0f8dbcc 100644 --- a/booster/util_time.h +++ b/booster/util_time.h @@ -8,7 +8,7 @@ * Version: 1.0.0(07/23/2020) * Author: Guo Wenxue <guowenxue@gmail.com> * ChangeLog: 1, Release initial version on "07/23/2020 07:46:37 AM" - * + * ********************************************************************************/ #ifndef __UTIL_TIME_H_ #define __UTIL_TIME_H_ @@ -31,7 +31,7 @@ int year; int month; int day; - int hour; + int hour; int minute; int second; int dayofweek; @@ -40,7 +40,7 @@ /* sleep for micro second */ static inline void msleep(unsigned long ms) { - struct timespec timeout; + struct timespec timeout; unsigned long tmp; timeout.tv_sec = ms / 1000; @@ -52,15 +52,15 @@ else { timeout.tv_nsec = 0; - } - + } + nanosleep(&timeout, 0); } /* call gettimeofday() to get current micro second */ static inline unsigned long time_now() { - struct timeval now; + struct timeval now; gettimeofday(&now, 0); @@ -70,18 +70,18 @@ /* timep has elapsed since $start, unit as micro second*/ static inline uint32_t time_elapsed(uint32_t start) { - uint32_t current = time_now(); + uint32_t current = time_now(); if(current >= start) return current-start; - else + else return current+0xFFFFFFFF-start; } /* call gettimeofday() to get current micro second */ static inline unsigned long time_second() { - struct timeval now; + struct timeval now; gettimeofday(&now, 0); return now.tv_sec; @@ -90,11 +90,11 @@ /* timep has elapsed since $start, unit as micro second*/ static inline uint32_t seconds_elapsed(uint32_t start) { - uint32_t current = time_second(); + uint32_t current = time_second(); if(current >= start) return current-start; - else + else return current+0xFFFFFFFF-start; } @@ -122,7 +122,7 @@ #define time_after(a,b) \ (typecheck(unsigned long, a) && typecheck(unsigned long, b) && ((long)(b) - (long)(a) < 0)) #define time_before(a,b) time_after(b,a) - + #define time_after_eq(a,b) \ (typecheck(unsigned long, a) && typecheck(unsigned long, b) && ((long)(a) - (long)(b) >= 0)) #define time_before_eq(a,b) time_after_eq(b,a) @@ -133,33 +133,33 @@ #define time_after64(a,b) \ (typecheck(__u64, a) && typecheck(__u64, b) && ((__s64)(b) - (__s64)(a) < 0)) #define time_before64(a,b) time_after64(b,a) - + #define time_after_eq64(a,b) \ (typecheck(__u64, a) && typecheck(__u64, b) && ((__s64)(a) - (__s64)(b) >= 0)) #define time_before_eq64(a,b) time_after_eq64(b,a) - + static inline void get_sys_time(date_time_t *date) { time_t now = time(NULL); - struct tm *tnow = localtime(&now); - - memset(date, 0, sizeof(*date)); + struct tm *tnow = localtime(&now); + + memset(date, 0, sizeof(*date)); date->year = 1900 + tnow->tm_year; date->month = 1 + tnow->tm_mon; date->day = tnow->tm_mday; date->hour = tnow->tm_hour; date->minute = tnow->tm_min; - date->second = tnow->tm_sec; - date->dayofweek = tnow->tm_wday; + date->second = tnow->tm_sec; + date->dayofweek = tnow->tm_wday; return; } static inline int get_rtc_time(date_time_t *date) { int rv, fd = -1; - struct rtc_time rtc_tm; + struct rtc_time rtc_tm; memset(date, 0, sizeof(*date)); -- Gitblit v1.9.1