Current File : //usr/local/apps/perl/lib/site_perl/5.30.0/x86_64-linux/pthread.ph
require '_h2ph_pre.ph';

no warnings qw(redefine misc);

unless(defined(&_PTHREAD_H)) {
    eval 'sub _PTHREAD_H () {1;}' unless defined(&_PTHREAD_H);
    require 'features.ph';
    require 'endian.ph';
    require 'sched.ph';
    require 'time.ph';
    require 'bits/pthreadtypes.ph';
    require 'bits/setjmp.ph';
    require 'bits/wordsize.ph';
    eval("sub PTHREAD_CREATE_JOINABLE () { 0; }") unless defined(&PTHREAD_CREATE_JOINABLE);
    eval("sub PTHREAD_CREATE_DETACHED () { 1; }") unless defined(&PTHREAD_CREATE_DETACHED);
    eval("sub PTHREAD_MUTEX_TIMED_NP () { 0; }") unless defined(&PTHREAD_MUTEX_TIMED_NP);
    eval("sub PTHREAD_MUTEX_RECURSIVE_NP () { 1; }") unless defined(&PTHREAD_MUTEX_RECURSIVE_NP);
    eval("sub PTHREAD_MUTEX_ERRORCHECK_NP () { 2; }") unless defined(&PTHREAD_MUTEX_ERRORCHECK_NP);
    eval("sub PTHREAD_MUTEX_ADAPTIVE_NP () { 3; }") unless defined(&PTHREAD_MUTEX_ADAPTIVE_NP);
    if(defined(&__USE_XOPEN2K)) {
	eval("sub PTHREAD_MUTEX_STALLED () { 0; }") unless defined(&PTHREAD_MUTEX_STALLED);
	eval("sub PTHREAD_MUTEX_STALLED_NP () { PTHREAD_MUTEX_STALLED; }") unless defined(&PTHREAD_MUTEX_STALLED_NP);
	eval("sub PTHREAD_MUTEX_ROBUST () { 1; }") unless defined(&PTHREAD_MUTEX_ROBUST);
	eval("sub PTHREAD_MUTEX_ROBUST_NP () { PTHREAD_MUTEX_ROBUST; }") unless defined(&PTHREAD_MUTEX_ROBUST_NP);
    }
    if(defined(&__USE_UNIX98)) {
	eval("sub PTHREAD_PRIO_NONE () { 0; }") unless defined(&PTHREAD_PRIO_NONE);
	eval("sub PTHREAD_PRIO_INHERIT () { 1; }") unless defined(&PTHREAD_PRIO_INHERIT);
	eval("sub PTHREAD_PRIO_PROTECT () { 2; }") unless defined(&PTHREAD_PRIO_PROTECT);
    }
    if((defined(&__WORDSIZE) ? &__WORDSIZE : undef) == 64) {
	eval 'sub PTHREAD_MUTEX_INITIALIZER () {{ { 0, 0, 0, 0, 0, 0, { 0, 0} } };}' unless defined(&PTHREAD_MUTEX_INITIALIZER);
	if(defined(&__USE_GNU)) {
	    eval 'sub PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP () {{ { 0, 0, 0, 0,  &PTHREAD_MUTEX_RECURSIVE_NP, 0, { 0, 0} } };}' unless defined(&PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP);
	    eval 'sub PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP () {{ { 0, 0, 0, 0,  &PTHREAD_MUTEX_ERRORCHECK_NP, 0, { 0, 0} } };}' unless defined(&PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP);
	    eval 'sub PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP () {{ { 0, 0, 0, 0,  &PTHREAD_MUTEX_ADAPTIVE_NP, 0, { 0, 0} } };}' unless defined(&PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP);
	}
    } else {
	eval 'sub PTHREAD_MUTEX_INITIALIZER () {{ { 0, 0, 0, 0, 0, { 0} } };}' unless defined(&PTHREAD_MUTEX_INITIALIZER);
	if(defined(&__USE_GNU)) {
	    eval 'sub PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP () {{ { 0, 0, 0,  &PTHREAD_MUTEX_RECURSIVE_NP, 0, { 0} } };}' unless defined(&PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP);
	    eval 'sub PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP () {{ { 0, 0, 0,  &PTHREAD_MUTEX_ERRORCHECK_NP, 0, { 0} } };}' unless defined(&PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP);
	    eval 'sub PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP () {{ { 0, 0, 0,  &PTHREAD_MUTEX_ADAPTIVE_NP, 0, { 0} } };}' unless defined(&PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP);
	}
    }
    if(defined (&__USE_UNIX98) || defined (&__USE_XOPEN2K)) {
	eval("sub PTHREAD_RWLOCK_PREFER_READER_NP () { 0; }") unless defined(&PTHREAD_RWLOCK_PREFER_READER_NP);
	eval("sub PTHREAD_RWLOCK_PREFER_WRITER_NP () { 1; }") unless defined(&PTHREAD_RWLOCK_PREFER_WRITER_NP);
	eval("sub PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP () { 2; }") unless defined(&PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP);
	eval("sub PTHREAD_RWLOCK_DEFAULT_NP () { PTHREAD_RWLOCK_PREFER_READER_NP; }") unless defined(&PTHREAD_RWLOCK_DEFAULT_NP);
	eval 'sub PTHREAD_RWLOCK_INITIALIZER () {{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} };}' unless defined(&PTHREAD_RWLOCK_INITIALIZER);
	if(defined(&__USE_GNU)) {
	    if((defined(&__WORDSIZE) ? &__WORDSIZE : undef) == 64) {
		eval 'sub PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP () {{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,  &PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP } };}' unless defined(&PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP);
	    } else {
		if((defined(&__BYTE_ORDER) ? &__BYTE_ORDER : undef) == (defined(&__LITTLE_ENDIAN) ? &__LITTLE_ENDIAN : undef)) {
		    eval 'sub PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP () {{ { 0, 0, 0, 0, 0, 0,  &PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP, 0, 0, 0, 0} };}' unless defined(&PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP);
		} else {
		    eval 'sub PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP () {{ { 0, 0, 0, 0, 0, 0, 0, 0, 0,  &PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP, 0} };}' unless defined(&PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP);
		}
	    }
	}
    }
    eval("sub PTHREAD_INHERIT_SCHED () { 0; }") unless defined(&PTHREAD_INHERIT_SCHED);
    eval("sub PTHREAD_EXPLICIT_SCHED () { 1; }") unless defined(&PTHREAD_EXPLICIT_SCHED);
    eval("sub PTHREAD_SCOPE_SYSTEM () { 0; }") unless defined(&PTHREAD_SCOPE_SYSTEM);
    eval("sub PTHREAD_SCOPE_PROCESS () { 1; }") unless defined(&PTHREAD_SCOPE_PROCESS);
    eval("sub PTHREAD_PROCESS_PRIVATE () { 0; }") unless defined(&PTHREAD_PROCESS_PRIVATE);
    eval("sub PTHREAD_PROCESS_SHARED () { 1; }") unless defined(&PTHREAD_PROCESS_SHARED);
    eval 'sub PTHREAD_COND_INITIALIZER () {{ { 0, 0, 0, 0, 0, ( &void *) 0, 0, 0} };}' unless defined(&PTHREAD_COND_INITIALIZER);
    eval("sub PTHREAD_CANCEL_ENABLE () { 0; }") unless defined(&PTHREAD_CANCEL_ENABLE);
    eval("sub PTHREAD_CANCEL_DISABLE () { 1; }") unless defined(&PTHREAD_CANCEL_DISABLE);
    eval("sub PTHREAD_CANCEL_DEFERRED () { 0; }") unless defined(&PTHREAD_CANCEL_DEFERRED);
    eval("sub PTHREAD_CANCEL_ASYNCHRONOUS () { 1; }") unless defined(&PTHREAD_CANCEL_ASYNCHRONOUS);
    eval 'sub PTHREAD_CANCELED () {(( &void *) -1);}' unless defined(&PTHREAD_CANCELED);
    eval 'sub PTHREAD_ONCE_INIT () {0;}' unless defined(&PTHREAD_ONCE_INIT);
    if(defined(&__USE_XOPEN2K)) {
	eval 'sub PTHREAD_BARRIER_SERIAL_THREAD () {-1;}' unless defined(&PTHREAD_BARRIER_SERIAL_THREAD);
    }
    if(defined(&__USE_GNU)) {
    }
    if(defined(&__USE_XOPEN2K)) {
    }
    if(defined(&__USE_GNU)) {
    }
    if(defined(&__USE_GNU)) {
    }
    if(defined(&__USE_UNIX98)) {
    }
    if(defined(&__USE_GNU)) {
    }
    unless(defined(&__cleanup_fct_attribute)) {
	eval 'sub __cleanup_fct_attribute () {1;}' unless defined(&__cleanup_fct_attribute);
    }
    if(defined (&__GNUC__)  && defined (&__EXCEPTIONS)) {
	if(defined(&__cplusplus)) {
	    eval 'sub pthread_cleanup_push {
	        my($routine, $arg) = @_;
    		eval q( &do {  &__pthread_cleanup_class  &__clframe ($routine, $arg));
	    }' unless defined(&pthread_cleanup_push);
	    eval 'sub pthread_cleanup_pop {
	        my($execute) = @_;
    		eval q( ($__clframe->{__setdoit}) ($execute); }  &while (0));
	    }' unless defined(&pthread_cleanup_pop);
	    if(defined(&__USE_GNU)) {
		eval 'sub pthread_cleanup_push_defer_np {
		    my($routine, $arg) = @_;
    		    eval q( &do {  &__pthread_cleanup_class  &__clframe ($routine, $arg);  ($__clframe->{__defer}) ());
		}' unless defined(&pthread_cleanup_push_defer_np);
		eval 'sub pthread_cleanup_pop_restore_np {
		    my($execute) = @_;
    		    eval q( ($__clframe->{__restore}) ();  ($__clframe->{__setdoit}) ($execute); }  &while (0));
		}' unless defined(&pthread_cleanup_pop_restore_np);
	    }
	} else {
	    eval 'sub pthread_cleanup_push {
	        my($routine, $arg) = @_;
    		eval q( &do { \'struct __pthread_cleanup_frame\'  &__clframe  &__attribute__ (( &__cleanup__ ( &__pthread_cleanup_routine))) = { . &__cancel_routine = ($routine), . &__cancel_arg = ($arg), . &__do_it = 1};);
	    }' unless defined(&pthread_cleanup_push);
	    eval 'sub pthread_cleanup_pop {
	        my($execute) = @_;
    		eval q( ($__clframe->{__do_it}) = ($execute); }  &while (0));
	    }' unless defined(&pthread_cleanup_pop);
	    if(defined(&__USE_GNU)) {
		eval 'sub pthread_cleanup_push_defer_np {
		    my($routine, $arg) = @_;
    		    eval q( &do { \'struct __pthread_cleanup_frame\'  &__clframe  &__attribute__ (( &__cleanup__ ( &__pthread_cleanup_routine))) = { . &__cancel_routine = ($routine), . &__cancel_arg = ($arg), . &__do_it = 1}; ( &void)  &pthread_setcanceltype ( &PTHREAD_CANCEL_DEFERRED, & ($__clframe->{__cancel_type})));
		}' unless defined(&pthread_cleanup_push_defer_np);
		eval 'sub pthread_cleanup_pop_restore_np {
		    my($execute) = @_;
    		    eval q(( &void)  &pthread_setcanceltype ( ($__clframe->{__cancel_type}),  &NULL);  ($__clframe->{__do_it}) = ($execute); }  &while (0));
		}' unless defined(&pthread_cleanup_pop_restore_np);
	    }
	}
    } else {
	eval 'sub pthread_cleanup_push {
	    my($routine, $arg) = @_;
    	    eval q( &do {  &__pthread_unwind_buf_t  &__cancel_buf;  &void (* &__cancel_routine) ( &void *) = ($routine);  &void * &__cancel_arg = ($arg); \'int\'  &not_first_call =  &__sigsetjmp ( ( &void *)  ($__cancel_buf->{__cancel_jmp_buf}), 0);  &if ( &__builtin_expect ( &not_first_call, 0)) {  &__cancel_routine ( &__cancel_arg);  &__pthread_unwind_next (& &__cancel_buf); }  &__pthread_register_cancel (& &__cancel_buf);  &do {);
	}' unless defined(&pthread_cleanup_push);
	eval 'sub pthread_cleanup_pop {
	    my($execute) = @_;
    	    eval q( &do { }  &while (0); }  &while (0);  &__pthread_unregister_cancel (& &__cancel_buf);  &if ($execute)  &__cancel_routine ( &__cancel_arg); }  &while (0));
	}' unless defined(&pthread_cleanup_pop);
	if(defined(&__USE_GNU)) {
	    eval 'sub pthread_cleanup_push_defer_np {
	        my($routine, $arg) = @_;
    		eval q( &do {  &__pthread_unwind_buf_t  &__cancel_buf;  &void (* &__cancel_routine) ( &void *) = ($routine);  &void * &__cancel_arg = ($arg); \'int\'  &not_first_call =  &__sigsetjmp ( ( &void *)  ($__cancel_buf->{__cancel_jmp_buf}), 0);  &if ( &__builtin_expect ( &not_first_call, 0)) {  &__cancel_routine ( &__cancel_arg);  &__pthread_unwind_next (& &__cancel_buf); }  &__pthread_register_cancel_defer (& &__cancel_buf);  &do {);
	    }' unless defined(&pthread_cleanup_push_defer_np);
	    eval 'sub pthread_cleanup_pop_restore_np {
	        my($execute) = @_;
    		eval q( &do { }  &while (0); }  &while (0);  &__pthread_unregister_cancel_restore (& &__cancel_buf);  &if ($execute)  &__cancel_routine ( &__cancel_arg); }  &while (0));
	    }' unless defined(&pthread_cleanup_pop_restore_np);
	}
	unless(defined(&SHARED)) {
	}
    }
    if(defined(&__USE_XOPEN2K)) {
    }
    if(defined(&__USE_XOPEN2K8)) {
	if(defined(&__USE_GNU)) {
	}
    }
    if(defined (&__USE_UNIX98) || defined (&__USE_XOPEN2K8)) {
    }
    if(defined(&__USE_XOPEN2K)) {
	if(defined(&__USE_GNU)) {
	}
	if(defined(&__USE_GNU)) {
	}
    }
    if(defined (&__USE_UNIX98) || defined (&__USE_XOPEN2K)) {
	if(defined(&__USE_XOPEN2K)) {
	}
	if(defined(&__USE_XOPEN2K)) {
	}
    }
    if(defined(&__USE_XOPEN2K)) {
    }
    if(defined(&__USE_XOPEN2K)) {
    }
    if(defined(&__USE_XOPEN2K)) {
    }
    if(defined(&__USE_EXTERN_INLINES)) {
    }
}
1;