[klibc] On the trail of sigsuspend(2)

Thorsten Glaser tg at mirbsd.de
Sat Jan 29 14:03:39 PST 2011


SIGSUSPEND(2)              Linux Programmer's Manual             SIGSUSPEND(2)

NAME
       sigsuspend - wait for a signal

SYNOPSIS
       #include <signal.h>

       int sigsuspend(const sigset_t *mask);

… and …

SIGSUSPEND(2)              BSD Programmer's Manual               SIGSUSPEND(2)

NAME
     sigsuspend - atomically release blocked signals and wait for interrupt

SYNOPSIS
     #include <signal.h>

     int
     sigsuspend(const sigset_t *sigmask);

… but …

root at ara2:~ # cat >t.c
#include <stdio.h>
#include <signal.h>

int main(void) {
        printf("%zu\n", sizeof(sigset_t));
        return (0);
}
root at ara2:~ # klcc -o tklibc t.c; gcc -o tglibc t.c; ./tklibc; ./tglibc
4
128


No wonder mksh no longer works… any idea _why_, _where_, and how to fix?

Thanks in advance,
//mirabilos
-- 
“It is inappropriate to require that a time represented as
 seconds since the Epoch precisely represent the number of
 seconds between the referenced time and the Epoch.”
	-- IEEE Std 1003.1b-1993 (POSIX) Section B.2.2.2



More information about the klibc mailing list