Sponsored Content
Top Forums Programming WSAAsyncSelect equivalent for linux Post 302489722 by achenle on Friday 21st of January 2011 11:34:21 AM
Old 01-21-2011
You can use fcntl() to set the O_ASYNC flag on your file descriptors.

Your process will then receive a SIGIO signal when IO is possible on those file descriptors. Which file descriptor will be specified in the siginfo_t structure you get with each SIGIO signal. The siginfo_t structure might also contain other information as well, but offhand I don't recall if there is any additional data.

You need to be real careful in your signal handler, though. Any system call you make from within the signal handler or anything it calls MUST be async-signal safe. For example, no malloc()/free() or new/delete or anything else that might make those calls.
 

10 More Discussions You Might Find Interesting

1. Linux

windows startup equivalent in linux

hi all, greetings, please tell me how to start a java GUI program in the startup of the machine. since it invokes a GUI is it possiable to entry the same in /etc/rc2.d/S99userdefinedfiles. thanks in advance ., :-) (1 Reply)
Discussion started by: raguramtgr
1 Replies

2. Shell Programming and Scripting

Equivalent Suse Linux command

hi, In solaris, psrinfo gives number of cpu in use/online and so on. What is the equivalent command for "psrinfo" in Suse Linux ? Thx (3 Replies)
Discussion started by: braindrain
3 Replies

3. Linux

Linux equivalent for daemon2

Hi all... In my Unix system a program exists called "daemon2" which is responsible to enqueue program executions. For example, if I want to make the system to enqueue lpr executions for certain users, I call daemon2 with lpr as the parameter. Is there an equivalent in Linux? Thanks Jaime (0 Replies)
Discussion started by: jstuardo
0 Replies

4. UNIX for Advanced & Expert Users

Equivalent for iostat -e in AIX HP-UX Linux

iostat -e gives the soft, hard and transport error information in Solaris. What is the equivalent command in the other flavors of Unix AIX HP Linux. Thanks Prasi (1 Reply)
Discussion started by: prasi_in
1 Replies

5. UNIX for Dummies Questions & Answers

What is the equivalent of Solaris snoop in Linux

What is the equivalent of Solaris snoop in Linux I could not find snoop in RHEL (2 Replies)
Discussion started by: santosh149
2 Replies

6. Linux

Mksysb Equivalent For Linux?

I have experience with making bootable images of AIX systems using mksysb and wondered if there was some type of equivalent software for Linux. Or perhaps some of the folks here have alternatives or unique ideas for how they are backing up their Linux systems enabling them to recover them as... (13 Replies)
Discussion started by: scotbuff
13 Replies

7. Linux

Linux equivalent for...

I moved to a Linux system from Windows a few months ago. Most of the programs I had been using were already native to Linux (Firefox, the GIMP, Pari, etc.) and most others I found a close enough program (Crimson Editor -> gedit, Visual Studio -> KDevelop, Primo -> Morain's ECPP). Now I'm down... (1 Reply)
Discussion started by: CRGreathouse
1 Replies

8. Linux

/etc/netmasks equivalent in linux

Hi Guys, I am used to configuring DHCP on Solaris and foreach subnet added I place a corresponding entry in /etc/netmasks. I am now looking at configuring DHCP on linux, is there an equivalnet entry required somewhere or is this not needed in linux Thanks (3 Replies)
Discussion started by: eeisken
3 Replies

9. Red Hat

NFS_v4_fail_over_timeout equivalent in Linux

Hi, I need to mount a replicated nfs4 export on a number of AIX and Redhat hosts. To get the failover on the clients working smoothly, I need to change certain values on the AIX boxes like nfs_v4_fail_over_timeout, timeo and retrans values. Since I have no clue about Linux, I am not quite sure... (1 Reply)
Discussion started by: zxmaus
1 Replies

10. Shell Programming and Scripting

Need Linux equivalent for UNIX

I have a folder called "log" which has a few sub-folders say "fda" "fd7" "fdd" "fd6 .... " I wish to fire the below command inside each subfolder starting with the folder with the latest time stamp. grep "$greptime.*exit" Prod.$(hostname).log | grep $fdrdate_new If the seach did not yield... (3 Replies)
Discussion started by: mohtashims
3 Replies
SIGWAITINFO(2)						     Linux Programmer's Manual						    SIGWAITINFO(2)

NAME
sigwaitinfo, sigtimedwait - synchronously wait for queued signals SYNOPSIS
#include <signal.h> int sigwaitinfo(const sigset_t *set, siginfo_t *info); int sigtimedwait(const sigset_t *set, siginfo_t *info, const struct timespec *timeout); Feature Test Macro Requirements for glibc (see feature_test_macros(7)): sigwaitinfo(), sigtimedwait(): _POSIX_C_SOURCE >= 199309L DESCRIPTION
sigwaitinfo() suspends execution of the calling thread until one of the signals in set is delivered. (If one of the signals in set is already pending for the calling thread, sigwaitinfo() will return immediately with information about that signal.) sigwaitinfo() removes the delivered signal from the set of pending signals and returns the signal number as its function result. If the info argument is not NULL, then it returns a structure of type siginfo_t (see sigaction(2)) containing information about the signal. Signals returned via sigwaitinfo() are delivered in the usual order; see signal(7) for further details. sigtimedwait() operates in exactly the same way as sigwaitinfo() except that it has an additional argument, timeout, which enables an upper bound to be placed on the time for which the thread is suspended. This argument is of the following type: struct timespec { long tv_sec; /* seconds */ long tv_nsec; /* nanoseconds */ } If both fields of this structure are specified as 0, a poll is performed: sigtimedwait() returns immediately, either with information about a signal that was pending for the caller, or with an error if none of the signals in set was pending. RETURN VALUE
On success, both sigwaitinfo() and sigtimedwait() return a signal number (i.e., a value greater than zero). On failure both calls return -1, with errno set to indicate the error. ERRORS
EAGAIN No signal in set was delivered within the timeout period specified to sigtimedwait(). EINTR The wait was interrupted by a signal handler; see signal(7). (This handler was for a signal other than one of those in set.) EINVAL timeout was invalid. CONFORMING TO
POSIX.1-2001. NOTES
In normal usage, the calling program blocks the signals in set via a prior call to sigprocmask(2) (so that the default disposition for these signals does not occur if they are delivered between successive calls to sigwaitinfo() or sigtimedwait()) and does not establish han- dlers for these signals. In a multithreaded program, the signal should be blocked in all threads to prevent the signal being delivered to a thread other than the one calling sigwaitinfo() or sigtimedwait()). The set of signals that is pending for a given thread is the union of the set of signals that is pending specifically for that thread and the set of signals that is pending for the process as a whole (see signal(7)). If multiple threads of a process are blocked waiting for the same signal(s) in sigwaitinfo() or sigtimedwait(), then exactly one of the threads will actually receive the signal if it is delivered to the process as a whole; which of the threads receives the signal is indeter- minate. POSIX leaves the meaning of a NULL value for the timeout argument of sigtimedwait() unspecified, permitting the possibility that this has the same meaning as a call to sigwaitinfo(), and indeed this is what is done on Linux. On Linux, sigwaitinfo() is a library function implemented on top of sigtimedwait(). SEE ALSO
kill(2), sigaction(2), signal(2), signalfd(2), sigpending(2), sigprocmask(2), sigqueue(2), sigsetops(3), sigwait(3), signal(7), time(7) COLOPHON
This page is part of release 3.25 of the Linux man-pages project. A description of the project, and information about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/. Linux 2008-10-04 SIGWAITINFO(2)
All times are GMT -4. The time now is 03:22 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy