Messages in this thread |  | | From | David Schwartz <> | Date | Fri, 5 Oct 2001 16:43:09 -0700 | Subject | Re: Desperately missing a working "pselect()" or similar... |
| |
>> A technique I used in a similar situation once went something like:
>> tv.tv_sec=bignum; >> tv.tv_usec = 0; >> enable_signals(); >> select(nfds, &readfds,&writefds,0,&tv);
>> and have the signal handlers set tv.tv_sec to 0. (tv is a global >>variable).
>I've thought about that, but I haven't been able to find any guarantee that >there will be no user space futzing around with &tv, like a library wrapper >that copies tv to another spot in memory and invokes the syscall with that >address.
This will commonly happen if, for example, the user-side timeval structure contains seconds and microseconds and the kernel-side structure contains seconds and nanoseconds. The signal might occur after the library has performed the structure conversion.
DS
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |