From 6a3a2bf18eceba346aa0857c9bfba0c5525fdb3b Mon Sep 17 00:00:00 2001 From: Anatol Belski Date: Tue, 4 Jul 2017 17:06:52 +0200 Subject: [PATCH] vim folds and mode lines yet --- TSRM/TSRM.c | 105 +++++++++++++++++++++----------------- TSRM/TSRM.h | 9 ++++ TSRM/tsrm_config.w32.h | 9 ++++ TSRM/tsrm_config_common.h | 9 ++++ TSRM/tsrm_strtok_r.c | 17 ++++-- TSRM/tsrm_win32.c | 83 +++++++++++++++++------------- TSRM/tsrm_win32.h | 9 ++++ 7 files changed, 153 insertions(+), 88 deletions(-) diff --git a/TSRM/TSRM.c b/TSRM/TSRM.c index 4c635a05a9f81..cde84377902a0 100644 --- a/TSRM/TSRM.c +++ b/TSRM/TSRM.c @@ -125,7 +125,7 @@ TSRM_TLS uint8_t in_main_thread = 0; /* Startup TSRM (call once for the entire process) */ TSRM_API int tsrm_startup(int expected_threads, int expected_resources, int debug_level, char *debug_filename) -{ +{/*{{{*/ #if defined(GNUPTH) pth_init(); #elif defined(PTHREADS) @@ -166,12 +166,12 @@ TSRM_API int tsrm_startup(int expected_threads, int expected_resources, int debu TSRM_ERROR((TSRM_ERROR_LEVEL_CORE, "Started up TSRM, %d expected threads, %d expected resources", expected_threads, expected_resources)); return 1; -} +}/*}}}*/ /* Shutdown TSRM (call once for the entire process) */ TSRM_API void tsrm_shutdown(void) -{ +{/*{{{*/ int i; if (!in_main_thread) { @@ -227,12 +227,12 @@ TSRM_API void tsrm_shutdown(void) tsrm_new_thread_begin_handler = NULL; tsrm_new_thread_end_handler = NULL; tsrm_shutdown_handler = NULL; -} +}/*}}}*/ /* allocates a new thread-safe-resource id */ TSRM_API ts_rsrc_id ts_allocate_id(ts_rsrc_id *rsrc_id, size_t size, ts_allocate_ctor ctor, ts_allocate_dtor dtor) -{ +{/*{{{*/ int i; TSRM_ERROR((TSRM_ERROR_LEVEL_CORE, "Obtaining a new resource id, %d bytes", size)); @@ -283,11 +283,11 @@ TSRM_API ts_rsrc_id ts_allocate_id(ts_rsrc_id *rsrc_id, size_t size, ts_allocate TSRM_ERROR((TSRM_ERROR_LEVEL_CORE, "Successfully allocated new resource id %d", *rsrc_id)); return *rsrc_id; -} +}/*}}}*/ static void allocate_new_resource(tsrm_tls_entry **thread_resources_ptr, THREAD_T thread_id) -{ +{/*{{{*/ int i; TSRM_ERROR((TSRM_ERROR_LEVEL_CORE, "Creating data structures for thread %x", thread_id)); @@ -323,12 +323,12 @@ static void allocate_new_resource(tsrm_tls_entry **thread_resources_ptr, THREAD_ } tsrm_mutex_unlock(tsmm_mutex); -} +}/*}}}*/ /* fetches the requested resource for the current thread */ TSRM_API void *ts_resource_ex(ts_rsrc_id id, THREAD_T *th_id) -{ +{/*{{{*/ THREAD_T thread_id; int hash_value; tsrm_tls_entry *thread_resources; @@ -386,12 +386,12 @@ TSRM_API void *ts_resource_ex(ts_rsrc_id id, THREAD_T *th_id) * changes to the structure as we read it. */ TSRM_SAFE_RETURN_RSRC(thread_resources->storage, id, thread_resources->count); -} +}/*}}}*/ /* frees an interpreter context. You are responsible for making sure that * it is not linked into the TSRM hash, and not marked as the current interpreter */ void tsrm_free_interpreter_context(void *context) -{ +{/*{{{*/ tsrm_tls_entry *next, *thread_resources = (tsrm_tls_entry*)context; int i; @@ -410,10 +410,10 @@ void tsrm_free_interpreter_context(void *context) free(thread_resources); thread_resources = next; } -} +}/*}}}*/ void *tsrm_set_interpreter_context(void *new_ctx) -{ +{/*{{{*/ tsrm_tls_entry *current; current = tsrm_tls_get(); @@ -426,12 +426,12 @@ void *tsrm_set_interpreter_context(void *new_ctx) /* return old context, so caller can restore it when they're done */ return current; -} +}/*}}}*/ /* allocates a new interpreter context */ void *tsrm_new_interpreter_context(void) -{ +{/*{{{*/ tsrm_tls_entry *new_ctx, *current; THREAD_T thread_id; @@ -445,12 +445,12 @@ void *tsrm_new_interpreter_context(void) /* switch back to the context that was in use prior to our creation * of the new one */ return tsrm_set_interpreter_context(current); -} +}/*}}}*/ /* frees all resources allocated for the current thread */ void ts_free_thread(void) -{ +{/*{{{*/ tsrm_tls_entry *thread_resources; int i; THREAD_T thread_id = tsrm_thread_id(); @@ -487,12 +487,12 @@ void ts_free_thread(void) thread_resources = thread_resources->next; } tsrm_mutex_unlock(tsmm_mutex); -} +}/*}}}*/ /* frees all resources allocated for all threads except current */ void ts_free_worker_threads(void) -{ +{/*{{{*/ tsrm_tls_entry *thread_resources; int i; THREAD_T thread_id = tsrm_thread_id(); @@ -533,12 +533,12 @@ void ts_free_worker_threads(void) } } tsrm_mutex_unlock(tsmm_mutex); -} +}/*}}}*/ /* deallocates all occurrences of a given id */ void ts_free_id(ts_rsrc_id id) -{ +{/*{{{*/ int i; int j = TSRM_UNSHUFFLE_RSRC_ID(id); @@ -567,7 +567,7 @@ void ts_free_id(ts_rsrc_id id) tsrm_mutex_unlock(tsmm_mutex); TSRM_ERROR((TSRM_ERROR_LEVEL_CORE, "Successfully freed resource id %d", id)); -} +}/*}}}*/ @@ -578,7 +578,7 @@ void ts_free_id(ts_rsrc_id id) /* Obtain the current thread id */ TSRM_API THREAD_T tsrm_thread_id(void) -{ +{/*{{{*/ #ifdef TSRM_WIN32 return GetCurrentThreadId(); #elif defined(GNUPTH) @@ -594,12 +594,12 @@ TSRM_API THREAD_T tsrm_thread_id(void) #elif defined(BETHREADS) return find_thread(NULL); #endif -} +}/*}}}*/ /* Allocate a mutex */ TSRM_API MUTEX_T tsrm_mutex_alloc(void) -{ +{/*{{{*/ MUTEX_T mutexp; #ifdef TSRM_WIN32 mutexp = malloc(sizeof(CRITICAL_SECTION)); @@ -625,12 +625,12 @@ TSRM_API MUTEX_T tsrm_mutex_alloc(void) printf("Mutex created thread: %d\n",mythreadid()); #endif return( mutexp ); -} +}/*}}}*/ /* Free a mutex */ TSRM_API void tsrm_mutex_free(MUTEX_T mutexp) -{ +{/*{{{*/ if (mutexp) { #ifdef TSRM_WIN32 DeleteCriticalSection(mutexp); @@ -654,7 +654,7 @@ TSRM_API void tsrm_mutex_free(MUTEX_T mutexp) #ifdef THR_DEBUG printf("Mutex freed thread: %d\n",mythreadid()); #endif -} +}/*}}}*/ /* @@ -662,7 +662,7 @@ TSRM_API void tsrm_mutex_free(MUTEX_T mutexp) A return value of 0 indicates success */ TSRM_API int tsrm_mutex_lock(MUTEX_T mutexp) -{ +{/*{{{*/ TSRM_ERROR((TSRM_ERROR_LEVEL_INFO, "Mutex locked thread: %ld", tsrm_thread_id())); #ifdef TSRM_WIN32 EnterCriticalSection(mutexp); @@ -686,7 +686,7 @@ TSRM_API int tsrm_mutex_lock(MUTEX_T mutexp) return acquire_sem(mutexp->sem); return 0; #endif -} +}/*}}}*/ /* @@ -694,7 +694,7 @@ TSRM_API int tsrm_mutex_lock(MUTEX_T mutexp) A return value of 0 indicates success */ TSRM_API int tsrm_mutex_unlock(MUTEX_T mutexp) -{ +{/*{{{*/ TSRM_ERROR((TSRM_ERROR_LEVEL_INFO, "Mutex unlocked thread: %ld", tsrm_thread_id())); #ifdef TSRM_WIN32 LeaveCriticalSection(mutexp); @@ -718,14 +718,14 @@ TSRM_API int tsrm_mutex_unlock(MUTEX_T mutexp) return release_sem(mutexp->sem); return 0; #endif -} +}/*}}}*/ /* Changes the signal mask of the calling thread */ #ifdef HAVE_SIGPROCMASK TSRM_API int tsrm_sigmask(int how, const sigset_t *set, sigset_t *oldset) -{ +{/*{{{*/ TSRM_ERROR((TSRM_ERROR_LEVEL_INFO, "Changed sigmask in thread: %ld", tsrm_thread_id())); /* TODO: add support for other APIs */ #ifdef PTHREADS @@ -733,35 +733,35 @@ TSRM_API int tsrm_sigmask(int how, const sigset_t *set, sigset_t *oldset) #else return sigprocmask(how, set, oldset); #endif -} +}/*}}}*/ #endif TSRM_API void *tsrm_set_new_thread_begin_handler(tsrm_thread_begin_func_t new_thread_begin_handler) -{ +{/*{{{*/ void *retval = (void *) tsrm_new_thread_begin_handler; tsrm_new_thread_begin_handler = new_thread_begin_handler; return retval; -} +}/*}}}*/ TSRM_API void *tsrm_set_new_thread_end_handler(tsrm_thread_end_func_t new_thread_end_handler) -{ +{/*{{{*/ void *retval = (void *) tsrm_new_thread_end_handler; tsrm_new_thread_end_handler = new_thread_end_handler; return retval; -} +}/*}}}*/ TSRM_API void *tsrm_set_shutdown_handler(tsrm_shutdown_func_t shutdown_handler) -{ +{/*{{{*/ void *retval = (void *) tsrm_shutdown_handler; tsrm_shutdown_handler = shutdown_handler; return retval; -} +}/*}}}*/ /* @@ -770,7 +770,7 @@ TSRM_API void *tsrm_set_shutdown_handler(tsrm_shutdown_func_t shutdown_handler) #if TSRM_DEBUG int tsrm_error(int level, const char *format, ...) -{ +{/*{{{*/ if (level<=tsrm_error_level) { va_list args; int size; @@ -785,12 +785,12 @@ int tsrm_error(int level, const char *format, ...) } else { return 0; } -} +}/*}}}*/ #endif void tsrm_error_set(int level, char *debug_filename) -{ +{/*{{{*/ tsrm_error_level = level; #if TSRM_DEBUG @@ -807,16 +807,25 @@ void tsrm_error_set(int level, char *debug_filename) tsrm_error_file = stderr; } #endif -} +}/*}}}*/ TSRM_API void *tsrm_get_ls_cache(void) -{ +{/*{{{*/ return tsrm_tls_get(); -} +}/*}}}*/ TSRM_API uint8_t tsrm_is_main_thread(void) -{ +{/*{{{*/ return in_main_thread; -} +}/*}}}*/ #endif /* ZTS */ + +/* + * Local variables: + * tab-width: 4 + * c-basic-offset: 4 + * End: + * vim600: sw=4 ts=4 fdm=marker + * vim<600: sw=4 ts=4 + */ diff --git a/TSRM/TSRM.h b/TSRM/TSRM.h index 3a06ccd8d5bad..39d4bcc752b8b 100644 --- a/TSRM/TSRM.h +++ b/TSRM/TSRM.h @@ -216,3 +216,12 @@ TSRM_API uint8_t tsrm_is_main_thread(void); #endif /* ZTS */ #endif /* TSRM_H */ + +/* + * Local variables: + * tab-width: 4 + * c-basic-offset: 4 + * End: + * vim600: sw=4 ts=4 fdm=marker + * vim<600: sw=4 ts=4 + */ diff --git a/TSRM/tsrm_config.w32.h b/TSRM/tsrm_config.w32.h index 1443e7cca9617..a58d47517ce20 100644 --- a/TSRM/tsrm_config.w32.h +++ b/TSRM/tsrm_config.w32.h @@ -13,3 +13,12 @@ #include #endif + +/* + * Local variables: + * tab-width: 4 + * c-basic-offset: 4 + * End: + * vim600: sw=4 ts=4 fdm=marker + * vim<600: sw=4 ts=4 + */ diff --git a/TSRM/tsrm_config_common.h b/TSRM/tsrm_config_common.h index 64cecd912ae2c..f70f7a5c41e25 100644 --- a/TSRM/tsrm_config_common.h +++ b/TSRM/tsrm_config_common.h @@ -69,3 +69,12 @@ char *alloca (); #endif #endif /* TSRM_CONFIG_COMMON_H */ + +/* + * Local variables: + * tab-width: 4 + * c-basic-offset: 4 + * End: + * vim600: sw=4 ts=4 fdm=marker + * vim<600: sw=4 ts=4 + */ diff --git a/TSRM/tsrm_strtok_r.c b/TSRM/tsrm_strtok_r.c index b84e32567c936..cf0b0e672ceb5 100644 --- a/TSRM/tsrm_strtok_r.c +++ b/TSRM/tsrm_strtok_r.c @@ -4,7 +4,7 @@ #include "tsrm_strtok_r.h" static inline int in_character_class(char ch, const char *delim) -{ +{/*{{{*/ while (*delim) { if (*delim == ch) { return 1; @@ -12,10 +12,10 @@ static inline int in_character_class(char ch, const char *delim) delim++; } return 0; -} +}/*}}}*/ TSRM_API char *tsrm_strtok_r(char *s, const char *delim, char **last) -{ +{/*{{{*/ char *token; if (s == NULL) { @@ -41,7 +41,7 @@ TSRM_API char *tsrm_strtok_r(char *s, const char *delim, char **last) *last = s + 1; } return token; -} +}/*}}}*/ #if 0 @@ -61,3 +61,12 @@ main() } #endif + +/* + * Local variables: + * tab-width: 4 + * c-basic-offset: 4 + * End: + * vim600: sw=4 ts=4 fdm=marker + * vim<600: sw=4 ts=4 + */ diff --git a/TSRM/tsrm_win32.c b/TSRM/tsrm_win32.c index b9a4ec9814732..039fef7cc2068 100644 --- a/TSRM/tsrm_win32.c +++ b/TSRM/tsrm_win32.c @@ -42,7 +42,7 @@ static tsrm_win32_globals win32_globals; #endif static void tsrm_win32_ctor(tsrm_win32_globals *globals) -{ +{/*{{{*/ #ifdef ZTS TSRMLS_CACHE_UPDATE(); #endif @@ -61,10 +61,10 @@ TSRMLS_CACHE_UPDATE(); */ globals->impersonation_token = INVALID_HANDLE_VALUE; globals->impersonation_token_sid = NULL; -} +}/*}}}*/ static void tsrm_win32_dtor(tsrm_win32_globals *globals) -{ +{/*{{{*/ shm_pair *ptr; if (globals->process) { @@ -89,26 +89,26 @@ static void tsrm_win32_dtor(tsrm_win32_globals *globals) if (globals->impersonation_token_sid) { free(globals->impersonation_token_sid); } -} +}/*}}}*/ TSRM_API void tsrm_win32_startup(void) -{ +{/*{{{*/ #ifdef ZTS ts_allocate_id(&win32_globals_id, sizeof(tsrm_win32_globals), (ts_allocate_ctor)tsrm_win32_ctor, (ts_allocate_ctor)tsrm_win32_dtor); #else tsrm_win32_ctor(&win32_globals); #endif -} +}/*}}}*/ TSRM_API void tsrm_win32_shutdown(void) -{ +{/*{{{*/ #ifndef ZTS tsrm_win32_dtor(&win32_globals); #endif -} +}/*}}}*/ char * tsrm_win32_get_path_sid_key(const char *pathname, size_t pathname_len, size_t *key_len) -{ +{/*{{{*/ PSID pSid = TWG(impersonation_token_sid); char *ptcSid = NULL; char *bucket_key = NULL; @@ -139,11 +139,11 @@ char * tsrm_win32_get_path_sid_key(const char *pathname, size_t pathname_len, si LocalFree(ptcSid); return bucket_key; -} +}/*}}}*/ PSID tsrm_win32_get_token_sid(HANDLE hToken) -{ +{/*{{{*/ DWORD dwLength = 0; PTOKEN_USER pTokenUser = NULL; DWORD sid_len; @@ -190,10 +190,10 @@ PSID tsrm_win32_get_token_sid(HANDLE hToken) HeapFree(GetProcessHeap(), 0, (LPVOID)pTokenUser); } return NULL; -} +}/*}}}*/ TSRM_API int tsrm_win32_access(const char *pathname, int mode) -{ +{/*{{{*/ time_t t; HANDLE thread_token = NULL; PSID token_sid; @@ -394,11 +394,11 @@ TSRM_API int tsrm_win32_access(const char *pathname, int mode) return 0; } } -} +}/*}}}*/ static process_pair *process_get(FILE *stream) -{ +{/*{{{*/ process_pair *ptr; process_pair *newptr; @@ -421,10 +421,10 @@ static process_pair *process_get(FILE *stream) ptr = newptr + TWG(process_size); TWG(process_size)++; return ptr; -} +}/*}}}*/ static shm_pair *shm_get(key_t key, void *addr) -{ +{/*{{{*/ shm_pair *ptr; shm_pair *newptr; @@ -453,24 +453,25 @@ static shm_pair *shm_get(key_t key, void *addr) TWG(shm_size)++; memset(ptr, 0, sizeof(*ptr)); return ptr; -} +}/*}}}*/ -static HANDLE dupHandle(HANDLE fh, BOOL inherit) { +static HANDLE dupHandle(HANDLE fh, BOOL inherit) +{/*{{{*/ HANDLE copy, self = GetCurrentProcess(); if (!DuplicateHandle(self, fh, self, ©, 0, inherit, DUPLICATE_SAME_ACCESS|DUPLICATE_CLOSE_SOURCE)) { return NULL; } return copy; -} +}/*}}}*/ TSRM_API FILE *popen(const char *command, const char *type) -{ +{/*{{{*/ return popen_ex(command, type, NULL, NULL); -} +}/*}}}*/ TSRM_API FILE *popen_ex(const char *command, const char *type, const char *cwd, char *env) -{ +{/*{{{*/ FILE *stream = NULL; int fno, type_len, read, mode; STARTUPINFOW startup; @@ -614,10 +615,10 @@ TSRM_API FILE *popen_ex(const char *command, const char *type, const char *cwd, proc->prochnd = process.hProcess; proc->stream = stream; return stream; -} +}/*}}}*/ TSRM_API int pclose(FILE *stream) -{ +{/*{{{*/ DWORD termstat = 0; process_pair *process; @@ -634,10 +635,10 @@ TSRM_API int pclose(FILE *stream) CloseHandle(process->prochnd); return termstat; -} +}/*}}}*/ TSRM_API int shmget(key_t key, size_t size, int flags) -{ +{/*{{{*/ shm_pair *shm; char shm_segment[26], shm_info[29]; HANDLE shm_handle, info_handle; @@ -717,10 +718,10 @@ TSRM_API int shmget(key_t key, size_t size, int flags) } return key; -} +}/*}}}*/ TSRM_API void *shmat(int key, const void *shmaddr, int flags) -{ +{/*{{{*/ shm_pair *shm = shm_get(key, NULL); if (!shm->segment) { @@ -740,10 +741,10 @@ TSRM_API void *shmat(int key, const void *shmaddr, int flags) shm->descriptor->shm_nattch++; return shm->addr; -} +}/*}}}*/ TSRM_API int shmdt(const void *shmaddr) -{ +{/*{{{*/ shm_pair *shm = shm_get(0, (void*)shmaddr); if (!shm->segment) { @@ -755,9 +756,10 @@ TSRM_API int shmdt(const void *shmaddr) shm->descriptor->shm_nattch--; return UnmapViewOfFile(shm->addr) ? 0 : -1; -} +}/*}}}*/ -TSRM_API int shmctl(int key, int cmd, struct shmid_ds *buf) { +TSRM_API int shmctl(int key, int cmd, struct shmid_ds *buf) +{/*{{{*/ shm_pair *shm = shm_get(key, NULL); if (!shm->segment) { @@ -785,16 +787,16 @@ TSRM_API int shmctl(int key, int cmd, struct shmid_ds *buf) { default: return -1; } -} +}/*}}}*/ TSRM_API char *realpath(char *orig_path, char *buffer) -{ +{/*{{{*/ int ret = GetFullPathName(orig_path, _MAX_PATH, buffer, NULL); if(!ret || ret > _MAX_PATH) { return NULL; } return buffer; -} +}/*}}}*/ #if HAVE_UTIME static zend_always_inline void UnixTimeToFileTime(time_t t, LPFILETIME pft) /* {{{ */ @@ -852,3 +854,12 @@ TSRM_API int win32_utime(const char *filename, struct utimbuf *buf) /* {{{ */ /* }}} */ #endif #endif + +/* + * Local variables: + * tab-width: 4 + * c-basic-offset: 4 + * End: + * vim600: sw=4 ts=4 fdm=marker + * vim<600: sw=4 ts=4 + */ diff --git a/TSRM/tsrm_win32.h b/TSRM/tsrm_win32.h index dc74f7948ca62..b90791cd59934 100644 --- a/TSRM/tsrm_win32.h +++ b/TSRM/tsrm_win32.h @@ -113,3 +113,12 @@ TSRM_API int shmctl(int key, int cmd, struct shmid_ds *buf); TSRM_API char *realpath(char *orig_path, char *buffer); #endif + +/* + * Local variables: + * tab-width: 4 + * c-basic-offset: 4 + * End: + * vim600: sw=4 ts=4 fdm=marker + * vim<600: sw=4 ts=4 + */