mirror of
				https://gitlab.com/freepascal.org/fpc/source.git
				synced 2025-10-31 23:30:39 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			57 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| {
 | |
|     This file is part of the Free Pascal run time library.
 | |
|     Copyright (c) 1999-2000 by Peter Vreman
 | |
|     member of the Free Pascal development team.
 | |
| 
 | |
|     See the file COPYING.FPC, included in this distribution,
 | |
|     for details about the copyright.
 | |
| 
 | |
|     This program is distributed in the hope that it will be useful,
 | |
|     but WITHOUT ANY WARRANTY; without even the implied warranty of
 | |
|     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 | |
| 
 | |
|  **********************************************************************}
 | |
| 
 | |
| { definition of pthread_mutex_t, because needed in both ptypes.inc and }
 | |
| { in sysosh.inc                                                        }
 | |
| (* from /usr/include/pthread_types.h 
 | |
| struct	__pthread_mutex_st {
 | |
| 	unsigned int	ptm_magic;
 | |
| 	pthread_spin_t	ptm_errorcheck;
 | |
| #ifdef __CPU_SIMPLE_LOCK_PAD
 | |
| 	uint8_t		ptm_pad1[3];
 | |
| #endif
 | |
| 	pthread_spin_t	ptm_interlock;	/* unused - backwards compat */
 | |
| #ifdef __CPU_SIMPLE_LOCK_PAD
 | |
| 	uint8_t		ptm_pad2[3];
 | |
| #endif
 | |
| 	volatile pthread_t ptm_owner;
 | |
| 	pthread_t * volatile ptm_waiters;
 | |
| 	unsigned int	ptm_recursed;
 | |
| 	void		*ptm_spare2;	/* unused - backwards compat */
 | |
| };
 | |
| *)
 | |
| 
 | |
| {$ifdef I386}
 | |
|   {$define __CPU_SIMPLE_LOCK_PAD}
 | |
| {$endif}
 | |
| {$ifdef X86_64}
 | |
|   {$define __CPU_SIMPLE_LOCK_PAD}
 | |
| {$endif}
 | |
|   record
 | |
|     ptm_magic : dword { should be cuint};
 | |
|     ptm_errorcheck : AnsiChar { should be pthread_spin_t};
 | |
| {$ifdef __CPU_SIMPLE_LOCK_PAD}
 | |
|     ptm_pad : array[0..2] of AnsiChar;
 | |
| {$endif _CPU_SIMPLE_LOCK_PAD}
 | |
|     ptm_interlock : AnsiChar { should be pthread_spinn_t};
 | |
| {$ifdef __CPU_SIMPLE_LOCK_PAD}
 | |
|     ptm_pad2 : array[0..2] of AnsiChar;
 | |
| {$endif _CPU_SIMPLE_LOCK_PAD}
 | |
|     ptm_owner : pointer { should be pthread_t};
 | |
|     ptm_waiter :  pointer { should be ppthread_t};
 | |
|     ptm_recursed : dword { should be cuint};
 | |
|     ptm_spare2 : pointer;
 | |
|   end;
 | |
| 
 | 
