diff options
author | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2011-03-15 20:26:34 +0000 |
---|---|---|
committer | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2011-03-15 20:26:34 +0000 |
commit | 6353b7f4d277bc2145ad408e349f2a9a98c8c397 (patch) | |
tree | d4ccbfd8eaf3d042c0731d2ab970aea8dddeb768 /nuttx/net/accept.c | |
parent | 69ed3e725f394bd249cb732945a0fc989b394746 (diff) | |
download | px4-nuttx-6353b7f4d277bc2145ad408e349f2a9a98c8c397.tar.gz px4-nuttx-6353b7f4d277bc2145ad408e349f2a9a98c8c397.tar.bz2 px4-nuttx-6353b7f4d277bc2145ad408e349f2a9a98c8c397.zip |
More SLIP integration
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3384 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/net/accept.c')
-rw-r--r-- | nuttx/net/accept.c | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/nuttx/net/accept.c b/nuttx/net/accept.c index ec6f40706..27e5d2b0a 100644 --- a/nuttx/net/accept.c +++ b/nuttx/net/accept.c @@ -1,7 +1,7 @@ /**************************************************************************** * net/accept.c * - * Copyright (C) 2007-2010 Gregory Nutt. All rights reserved. + * Copyright (C) 2007-2011 Gregory Nutt. All rights reserved. * Author: Gregory Nutt <spudmonkey@racsa.co.cr> * * Redistribution and use in source and binary forms, with or without @@ -262,7 +262,7 @@ int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen) #else FAR struct sockaddr_in *inaddr = (struct sockaddr_in *)addr; #endif - irqstate_t save; + uip_lock_t save; int newfd; int err; int ret; @@ -344,7 +344,7 @@ int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen) * for this listener. */ - save = irqsave(); + save = uip_lock(); conn = (struct uip_conn *)psock->s_conn; #ifdef CONFIG_NET_TCPBACKLOG @@ -366,7 +366,7 @@ int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen) else if (_SS_ISNONBLOCK(psock->s_flags)) { err = EAGAIN; - goto errout_with_irq; + goto errout_with_lock; } else #endif @@ -393,12 +393,12 @@ int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen) conn->accept = accept_interrupt; /* Wait for the send to complete or an error to occur: NOTES: (1) - * sem_wait will also terminate if a signal is received, (2) interrupts - * are disabled! They will be re-enabled while the task sleeps and + * uip_lockedwait will also terminate if a signal is received, (2) interrupts + * may be disabled! They will be re-enabled while the task sleeps and * automatically re-enabled when the task restarts. */ - ret = sem_wait(&state.acpt_sem); + ret = uip_lockedwait(&state.acpt_sem); /* Make sure that no further interrupts are processed */ @@ -418,20 +418,20 @@ int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen) if (state.acpt_result != 0) { err = state.acpt_result; - goto errout_with_irq; + goto errout_with_lock; } - /* If sem_wait failed, then we were probably reawakened by a signal. In - * this case, sem_wait will have set errno appropriately. + /* If uip_lockedwait failed, then we were probably reawakened by a signal. In + * this case, uip_lockedwait will have set errno appropriately. */ if (ret < 0) { err = -ret; - goto errout_with_irq; + goto errout_with_lock; } } - irqrestore(save); + uip_unlock(save); /* Initialize the socket structure and mark the socket as connected. * (The reference count on the new connection structure was set in the @@ -443,8 +443,8 @@ int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen) pnewsock->s_flags |= _SF_CONNECTED; return newfd; -errout_with_irq: - irqrestore(save); +errout_with_lock: + uip_unlock(save); errout_with_socket: sockfd_release(newfd); |