version 1.27, 2015/07/02 22:28:15
|
version 1.27.2.2, 2015/07/02 23:21:06
|
Line 524 rxUDPPacket(sched_task_t *task)
|
Line 524 rxUDPPacket(sched_task_t *task)
|
|
|
/* receive connect packet */ |
/* receive connect packet */ |
AIT_SET_BUF(&b, NULL, srv->srv_netbuf); |
AIT_SET_BUF(&b, NULL, srv->srv_netbuf); |
salen = sa.ss.ss_len = sizeof(sockaddr_t); | salen = sa.ss.ss_len = (u_char) sizeof(sockaddr_t); |
rlen = recvfrom(TASK_FD(task), AIT_GET_BUF(&b), AIT_LEN(&b), 0, &sa.sa, &salen); |
rlen = recvfrom(TASK_FD(task), AIT_GET_BUF(&b), AIT_LEN(&b), 0, &sa.sa, &salen); |
rpc = (struct tagRPCCall*) AIT_GET_BUF(&b); |
rpc = (struct tagRPCCall*) AIT_GET_BUF(&b); |
if (rlen < sizeof(struct tagRPCCall)) |
if (rlen < sizeof(struct tagRPCCall)) |
Line 664 rxRAWPacket(sched_task_t *task)
|
Line 664 rxRAWPacket(sched_task_t *task)
|
|
|
/* receive connect packet */ |
/* receive connect packet */ |
AIT_SET_BUF(&b, NULL, srv->srv_netbuf); |
AIT_SET_BUF(&b, NULL, srv->srv_netbuf); |
salen = sa.ss.ss_len = sizeof(sockaddr_t); | salen = sa.ss.ss_len = (u_char) sizeof(sockaddr_t); |
rlen = recvfrom(TASK_FD(task), AIT_GET_BUF(&b), AIT_LEN(&b), 0, &sa.sa, &salen); |
rlen = recvfrom(TASK_FD(task), AIT_GET_BUF(&b), AIT_LEN(&b), 0, &sa.sa, &salen); |
if (sa.sa.sa_family == AF_INET) { |
if (sa.sa.sa_family == AF_INET) { |
struct ip *h; |
struct ip *h; |
Line 1167 end:
|
Line 1167 end:
|
static void * |
static void * |
flushBLOB(sched_task_t *task) |
flushBLOB(sched_task_t *task) |
{ |
{ |
|
#ifndef atomic_load_acq_ptr |
uintptr_t sigArg = atomic_load_acq_ptr(&_glSigArg); |
uintptr_t sigArg = atomic_load_acq_ptr(&_glSigArg); |
|
#else |
|
uintptr_t sigArg = *((volatile uintptr_t*) &_glSigArg); |
|
#endif |
rpc_srv_t *srv = sigArg ? (void*) sigArg : TASK_ARG(task); |
rpc_srv_t *srv = sigArg ? (void*) sigArg : TASK_ARG(task); |
rpc_blob_t *b, *tmp; |
rpc_blob_t *b, *tmp; |
|
|
Line 1409 rpc_srv_loopBLOBServer(rpc_srv_t * __restrict srv)
|
Line 1413 rpc_srv_loopBLOBServer(rpc_srv_t * __restrict srv)
|
/* disabled kqueue support in libaitsched */ |
/* disabled kqueue support in libaitsched */ |
struct sigaction sa; |
struct sigaction sa; |
|
|
|
#ifndef atomic_store_rel_ptr |
atomic_store_rel_ptr(&_glSigArg, (uintptr_t) srv); |
atomic_store_rel_ptr(&_glSigArg, (uintptr_t) srv); |
|
#else |
|
*((volatile uintptr_t*) &_glSigArg) = (uintptr_t) srv; |
|
#endif |
|
|
memset(&sa, 0, sizeof sa); |
memset(&sa, 0, sizeof sa); |
sigemptyset(&sa.sa_mask); |
sigemptyset(&sa.sa_mask); |