Wolfgang Thallergcc16 merge934c3885 months agoHistory
69 lines · 2.3 KB · C
RawDownload
/* GNU Objective C Runtime @synchronized implementation   Copyright (C) 2010-2026 Free Software Foundation, Inc.   Contributed by Nicola Pero <nicola.pero@meta-innovation.com> This file is part of GCC. GCC is free software; you can redistribute it and/or modifyit under the terms of the GNU General Public License as published bythe Free Software Foundation; either version 3, or (at your option)any later version. GCC is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See theGNU General Public License for more details. Under Section 7 of GPL version 3, you are granted additionalpermissions described in the GCC Runtime Library Exception, version3.1, as published by the Free Software Foundation. You should have received a copy of the GNU General Public License anda copy of the GCC Runtime Library Exception along with this program;see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see<http://www.gnu.org/licenses/>.  */ #ifndef __objc_sync_INCLUDE_GNU#define __objc_sync_INCLUDE_GNU #include "objc.h"#include "objc-decls.h" #ifdef __cplusplusextern "C" {#endif /* These functions are automatically called by @synchronized().  */ /* 'objc_sync_enter' is automatically called when entering a   @synchronized() block.  It locks the recursive lock associated with   'object'.  If 'object' is nil, it does nothing.  It returns   OBJC_SYNC_SUCCESS on success; see the enumeration below for error   values.    Note that you should not rely on the behaviour when 'object' is nil   because it could change.  */objc_EXPORT int objc_sync_enter (id object); /* 'objc_sync_exit' is automatically called when exiting from a   @synchronized() block.  It unlocks the recursive lock associated   with 'object'.  If 'object' is nil, it does nothing.  It returns   OBJC_SYNC_SUCCESS on success; see the enumeration below for error   values.  */objc_EXPORT int objc_sync_exit (id object); /* All the possible return values for objc_sync_enter() and   objc_sync_exit(). */enum {  OBJC_SYNC_SUCCESS = 0,  OBJC_SYNC_NOT_OWNING_THREAD_ERROR = -1,  OBJC_SYNC_TIMED_OUT = -2,  OBJC_SYNC_NOT_INITIALIZED = -3}; #ifdef __cplusplus}#endif #endif /* not __objc_sync_INCLUDE_GNU */

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t