21 lines
779 B
C
21 lines
779 B
C
typedef struct _task_t {
|
|
int conn_sock; //客户连接socket
|
|
int hit; //第几个客户
|
|
} task_t;
|
|
|
|
typedef struct {
|
|
task_t *taskp; /* Buffer array */
|
|
int cnt; /* Maximum number of cell */
|
|
int inpos; /* buf[inpos] is first available cell */
|
|
int outpos; /* buf[outpos] is fist item */
|
|
sem_t mutex; /* Protects accesses to socks */
|
|
sem_t avail; /* Counts available cells */
|
|
sem_t ready; /* Counts ready items */
|
|
} task_line_t;
|
|
|
|
/* task line wrapper functions */
|
|
void task_line_init(task_line_t *tlp, int n);
|
|
void task_line_deinit(task_line_t *tlp);
|
|
void task_insert(task_line_t *tlp, task_t item);
|
|
task_t task_remove(task_line_t *tlp);
|