Lines 443-453
Link Here
|
443 |
|
448 |
|
444 |
private |
449 |
private |
445 |
|
450 |
|
446 |
type sigset_t is array (0 .. 31) of unsigned_long; |
451 |
type sigset_t is array (0 .. 127) of unsigned_char; |
447 |
pragma Convention (C, sigset_t); |
452 |
pragma Convention (C, sigset_t); |
448 |
for sigset_t'Size use 1024; |
|
|
449 |
-- This is for GNU libc version 2 but should be backward compatible with |
450 |
-- other libc where sigset_t is smaller. |
451 |
|
453 |
|
452 |
type pid_t is new int; |
454 |
type pid_t is new int; |
453 |
|
455 |
|
Lines 476-482
Link Here
|
476 |
stackaddr : System.Address; |
478 |
stackaddr : System.Address; |
477 |
stacksize : size_t; |
479 |
stacksize : size_t; |
478 |
end record; |
480 |
end record; |
479 |
pragma Convention (C_Pass_By_Copy, pthread_attr_t); |
481 |
pragma Convention (C, pthread_attr_t); |
480 |
|
482 |
|
481 |
type pthread_condattr_t is record |
483 |
type pthread_condattr_t is record |
482 |
dummy : int; |
484 |
dummy : int; |
Lines 490-514
Link Here
|
490 |
|
492 |
|
491 |
type pthread_t is new unsigned_long; |
493 |
type pthread_t is new unsigned_long; |
492 |
|
494 |
|
493 |
type struct_pthread_queue is record |
495 |
type struct_pthread_fast_lock is record |
494 |
head : System.Address; |
496 |
status : long; |
495 |
tail : System.Address; |
497 |
spinlock : int; |
496 |
end record; |
498 |
end record; |
497 |
pragma Convention (C, struct_pthread_queue); |
499 |
pragma Convention (C, struct_pthread_fast_lock); |
498 |
|
500 |
|
499 |
type pthread_mutex_t is record |
501 |
type pthread_mutex_t is record |
500 |
m_spinlock : int; |
502 |
m_reserved : int; |
501 |
m_count : int; |
503 |
m_count : int; |
502 |
m_owner : System.Address; |
504 |
m_owner : System.Address; |
503 |
m_kind : int; |
505 |
m_kind : int; |
504 |
m_waiting : struct_pthread_queue; |
506 |
m_lock : struct_pthread_fast_lock; |
505 |
end record; |
507 |
end record; |
506 |
pragma Convention (C, pthread_mutex_t); |
508 |
pragma Convention (C, pthread_mutex_t); |
507 |
|
509 |
|
508 |
type pthread_cond_t is record |
510 |
type pthread_cond_t is array (0 .. 47) of unsigned_char; |
509 |
c_spinlock : int; |
|
|
510 |
c_waiting : struct_pthread_queue; |
511 |
end record; |
512 |
pragma Convention (C, pthread_cond_t); |
511 |
pragma Convention (C, pthread_cond_t); |
513 |
|
512 |
|
514 |
type pthread_key_t is new unsigned; |
513 |
type pthread_key_t is new unsigned; |