Apache/2.4.7 (Ubuntu) Linux sman1baleendah 3.13.0-24-generic #46-Ubuntu SMP Thu Apr 10 19:11:08 UTC 2014 x86_64 uid=33(www-data) gid=33(www-data) groups=33(www-data) safemode : OFF MySQL: ON | Perl: ON | cURL: OFF | WGet: ON > / usr / lib / perl / 5.18.2 / CORE / | server ip : 172.67.156.115 your ip : 108.162.216.220 H O M E |
Filename | /usr/lib/perl/5.18.2/CORE/fakethr.h |
Size | 1.92 kb |
Permission | rw-r--r-- |
Owner | root : root |
Create time | 27-Apr-2025 10:10 |
Last modified | 21-Nov-2018 01:28 |
Last accessed | 07-Jul-2025 03:10 |
Actions | edit | rename | delete | download (gzip) |
View | text | code | image |
/* fakethr.h
*
* Copyright (C) 1999, by Larry Wall and others
*
* You may distribute under the terms of either the GNU General Public
* License or the Artistic License, as specified in the README file.
*
*/
typedef int perl_mutex;
typedef int perl_key;
typedef struct perl_thread *perl_os_thread;
/* With fake threads, thr is global(ish) so we don't need dTHR */
#define dTHR extern int errno
struct perl_wait_queue {
struct perl_thread * thread;
struct perl_wait_queue * next;
};
typedef struct perl_wait_queue *perl_cond;
/* Ask thread.h to include our per-thread extras */
#define HAVE_THREAD_INTERN
struct thread_intern {
perl_os_thread next_run, prev_run; /* Linked list of runnable threads */
perl_cond wait_queue; /* Wait queue that we are waiting on */
IV private; /* Holds data across time slices */
I32 savemark; /* Holds MARK for thread join values */
};
#define init_thread_intern(t) \
STMT_START { \
t->self = (t); \
(t)->i.next_run = (t)->i.prev_run = (t); \
(t)->i.wait_queue = 0; \
(t)->i.private = 0; \
} STMT_END
/*
* Note that SCHEDULE() is only callable from pp code (which
* must be expecting to be restarted). We'll have to do
* something a bit different for XS code.
*/
#define SCHEDULE() return schedule(), PL_op
#define MUTEX_LOCK(m)
#define MUTEX_UNLOCK(m)
#define MUTEX_INIT(m)
#define MUTEX_DESTROY(m)
#define COND_INIT(c) perl_cond_init(c)
#define COND_SIGNAL(c) perl_cond_signal(c)
#define COND_BROADCAST(c) perl_cond_broadcast(c)
#define COND_WAIT(c, m) \
STMT_START { \
perl_cond_wait(c); \
SCHEDULE(); \
} STMT_END
#define COND_DESTROY(c)
#define THREAD_CREATE(t, f) f((t))
#define THREAD_POST_CREATE(t) NOOP
#define YIELD NOOP
/*
* Local variables:
* c-indentation-style: bsd
* c-basic-offset: 4
* indent-tabs-mode: nil
* End:
*
* ex: set ts=8 sts=4 sw=4 et:
*/
*
* Copyright (C) 1999, by Larry Wall and others
*
* You may distribute under the terms of either the GNU General Public
* License or the Artistic License, as specified in the README file.
*
*/
typedef int perl_mutex;
typedef int perl_key;
typedef struct perl_thread *perl_os_thread;
/* With fake threads, thr is global(ish) so we don't need dTHR */
#define dTHR extern int errno
struct perl_wait_queue {
struct perl_thread * thread;
struct perl_wait_queue * next;
};
typedef struct perl_wait_queue *perl_cond;
/* Ask thread.h to include our per-thread extras */
#define HAVE_THREAD_INTERN
struct thread_intern {
perl_os_thread next_run, prev_run; /* Linked list of runnable threads */
perl_cond wait_queue; /* Wait queue that we are waiting on */
IV private; /* Holds data across time slices */
I32 savemark; /* Holds MARK for thread join values */
};
#define init_thread_intern(t) \
STMT_START { \
t->self = (t); \
(t)->i.next_run = (t)->i.prev_run = (t); \
(t)->i.wait_queue = 0; \
(t)->i.private = 0; \
} STMT_END
/*
* Note that SCHEDULE() is only callable from pp code (which
* must be expecting to be restarted). We'll have to do
* something a bit different for XS code.
*/
#define SCHEDULE() return schedule(), PL_op
#define MUTEX_LOCK(m)
#define MUTEX_UNLOCK(m)
#define MUTEX_INIT(m)
#define MUTEX_DESTROY(m)
#define COND_INIT(c) perl_cond_init(c)
#define COND_SIGNAL(c) perl_cond_signal(c)
#define COND_BROADCAST(c) perl_cond_broadcast(c)
#define COND_WAIT(c, m) \
STMT_START { \
perl_cond_wait(c); \
SCHEDULE(); \
} STMT_END
#define COND_DESTROY(c)
#define THREAD_CREATE(t, f) f((t))
#define THREAD_POST_CREATE(t) NOOP
#define YIELD NOOP
/*
* Local variables:
* c-indentation-style: bsd
* c-basic-offset: 4
* indent-tabs-mode: nil
* End:
*
* ex: set ts=8 sts=4 sw=4 et:
*/