Finish dup logic for open files; fix bug in sigtimedwait(), would return wrong signo value if the signal was already pending

git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5517 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
patacongo
2013-01-14 19:22:32 +00:00
parent 555e3fe1f5
commit 5a2eda210b
17 changed files with 333 additions and 102 deletions
+2 -2
View File
@@ -217,11 +217,11 @@ void mq_initialize(void)
void mq_desblockalloc(void)
{
struct mq_des_block_s *mqdesblock;
FAR struct mq_des_block_s *mqdesblock;
/* Allocate a block of message descriptors */
mqdesblock = (struct mq_des_block_s *)kmalloc(sizeof(struct mq_des_block_s));
mqdesblock = (FAR struct mq_des_block_s *)kmalloc(sizeof(struct mq_des_block_s));
if (mqdesblock)
{
int i;
+1 -1
View File
@@ -228,7 +228,7 @@ int sigtimedwait(FAR const sigset_t *set, FAR struct siginfo *info,
/* The return value is the number of the signal that awakened us */
ret = info->si_signo;
ret = sigpend->info.si_signo;
}
/* We will have to wait for a signal to be posted to this task. */
+1 -1
View File
@@ -291,7 +291,7 @@ pid_t task_vforkstart(FAR _TCB *child)
* still running.
*/
while ((ret = kill(pid, 0)) == OK)
while (kill(pid, 0) == OK)
{
/* Yes.. then we can yield to it -- assuming that it has not lowered
* its priority. sleep(0) might be a safer thing to do since it does