thr_kern.c (c984b5a72a97d5e554e2a4eec7ecb39d59f28bd4) thr_kern.c (7d9d7ca2ed3e3d630e63482c41f2d26194129c2c)
1/*
2 * Copyright (c) 2003 Jeffrey Roberson <jeff@freebsd.org>
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 19 unchanged lines hidden (view full) ---

28
29#include <sys/cdefs.h>
30#include <sys/types.h>
31#include <sys/signalvar.h>
32#include <sys/time.h>
33#include <sys/timespec.h>
34#include <pthread.h>
35#include <signal.h>
1/*
2 * Copyright (c) 2003 Jeffrey Roberson <jeff@freebsd.org>
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 19 unchanged lines hidden (view full) ---

28
29#include <sys/cdefs.h>
30#include <sys/types.h>
31#include <sys/signalvar.h>
32#include <sys/time.h>
33#include <sys/timespec.h>
34#include <pthread.h>
35#include <signal.h>
36#include <stdlib.h>
36#include <errno.h>
37#include <unistd.h>
38
39#include "thr_private.h"
40
41/* XXX Why can't I get this from time.h? :-( */
42#define timespecsub(vvp, uvp) \
43 do { \

--- 31 unchanged lines hidden (view full) ---

75
76 restore = sav;
77}
78
79void
80_thread_critical_exit(pthread_t pthread)
81{
82 sigset_t set;
37#include <errno.h>
38#include <unistd.h>
39
40#include "thr_private.h"
41
42/* XXX Why can't I get this from time.h? :-( */
43#define timespecsub(vvp, uvp) \
44 do { \

--- 31 unchanged lines hidden (view full) ---

76
77 restore = sav;
78}
79
80void
81_thread_critical_exit(pthread_t pthread)
82{
83 sigset_t set;
83 int error;
84
85 /*
86 * restore is protected by giant. We could restore our signal state
87 * incorrectly if someone else set restore between unlocking giant
88 * and restoring the signal mask. To avoid this we cache a copy prior
89 * to the unlock.
90 */
91 set = restore;

--- 116 unchanged lines hidden ---
84
85 /*
86 * restore is protected by giant. We could restore our signal state
87 * incorrectly if someone else set restore between unlocking giant
88 * and restoring the signal mask. To avoid this we cache a copy prior
89 * to the unlock.
90 */
91 set = restore;

--- 116 unchanged lines hidden ---