##// END OF EJS Templates
paper: don't register click handlers with inline javascript (issue5812)...
paper: don't register click handlers with inline javascript (issue5812) The use of inline href="javascript:" undermines CSP policies that don't allow inline javascript. This commit changes the registering of the diffstat and line wrapping toggle handlers to the the global DOMContentLoaded handler, thus eliminating all inline javascript from the paper template. Differential Revision: https://phab.mercurial-scm.org/D3437

File last commit:

r37513:b1fb341d default
r37848:2ead51dc stable
Show More
threading.h
123 lines | 4.0 KiB | text/x-c | CLexer
Gregory Szorc
zstd: vendor python-zstandard 0.7.0...
r30895 /**
* Copyright (c) 2016 Tino Reichardt
* All rights reserved.
*
Gregory Szorc
zstandard: vendor python-zstandard 0.9.0...
r37513 * This source code is licensed under both the BSD-style license (found in the
* LICENSE file in the root directory of this source tree) and the GPLv2 (found
* in the COPYING file in the root directory of this source tree).
Gregory Szorc
zstd: vendor python-zstandard 0.7.0...
r30895 *
* You can contact the author at:
* - zstdmt source repository: https://github.com/mcmilk/zstdmt
*/
#ifndef THREADING_H_938743
#define THREADING_H_938743
#if defined (__cplusplus)
extern "C" {
#endif
#if defined(ZSTD_MULTITHREAD) && defined(_WIN32)
/**
* Windows minimalist Pthread Wrapper, based on :
* http://www.cse.wustl.edu/~schmidt/win32-cv-1.html
*/
#ifdef WINVER
# undef WINVER
#endif
#define WINVER 0x0600
#ifdef _WIN32_WINNT
# undef _WIN32_WINNT
#endif
#define _WIN32_WINNT 0x0600
#ifndef WIN32_LEAN_AND_MEAN
# define WIN32_LEAN_AND_MEAN
#endif
Gregory Szorc
zstandard: vendor python-zstandard 0.9.0...
r37513 #undef ERROR /* reported already defined on VS 2015 (Rich Geldreich) */
Gregory Szorc
zstd: vendor python-zstandard 0.7.0...
r30895 #include <windows.h>
Gregory Szorc
zstandard: vendor python-zstandard 0.9.0...
r37513 #undef ERROR
#define ERROR(name) ZSTD_ERROR(name)
Gregory Szorc
zstd: vendor python-zstandard 0.7.0...
r30895
/* mutex */
Gregory Szorc
zstandard: vendor python-zstandard 0.9.0...
r37513 #define ZSTD_pthread_mutex_t CRITICAL_SECTION
#define ZSTD_pthread_mutex_init(a, b) ((void)(b), InitializeCriticalSection((a)), 0)
#define ZSTD_pthread_mutex_destroy(a) DeleteCriticalSection((a))
#define ZSTD_pthread_mutex_lock(a) EnterCriticalSection((a))
#define ZSTD_pthread_mutex_unlock(a) LeaveCriticalSection((a))
Gregory Szorc
zstd: vendor python-zstandard 0.7.0...
r30895
/* condition variable */
Gregory Szorc
zstandard: vendor python-zstandard 0.9.0...
r37513 #define ZSTD_pthread_cond_t CONDITION_VARIABLE
#define ZSTD_pthread_cond_init(a, b) ((void)(b), InitializeConditionVariable((a)), 0)
#define ZSTD_pthread_cond_destroy(a) ((void)(a))
#define ZSTD_pthread_cond_wait(a, b) SleepConditionVariableCS((a), (b), INFINITE)
#define ZSTD_pthread_cond_signal(a) WakeConditionVariable((a))
#define ZSTD_pthread_cond_broadcast(a) WakeAllConditionVariable((a))
Gregory Szorc
zstd: vendor python-zstandard 0.7.0...
r30895
Gregory Szorc
zstandard: vendor python-zstandard 0.9.0...
r37513 /* ZSTD_pthread_create() and ZSTD_pthread_join() */
Gregory Szorc
zstd: vendor python-zstandard 0.7.0...
r30895 typedef struct {
HANDLE handle;
void* (*start_routine)(void*);
void* arg;
Gregory Szorc
zstandard: vendor python-zstandard 0.9.0...
r37513 } ZSTD_pthread_t;
Gregory Szorc
zstd: vendor python-zstandard 0.7.0...
r30895
Gregory Szorc
zstandard: vendor python-zstandard 0.9.0...
r37513 int ZSTD_pthread_create(ZSTD_pthread_t* thread, const void* unused,
Gregory Szorc
zstd: vendor python-zstandard 0.7.0...
r30895 void* (*start_routine) (void*), void* arg);
Gregory Szorc
zstandard: vendor python-zstandard 0.9.0...
r37513 int ZSTD_pthread_join(ZSTD_pthread_t thread, void** value_ptr);
Gregory Szorc
zstd: vendor python-zstandard 0.7.0...
r30895
/**
* add here more wrappers as required
*/
Gregory Szorc
zstandard: vendor python-zstandard 0.9.0...
r37513 #elif defined(ZSTD_MULTITHREAD) /* posix assumed ; need a better detection method */
Gregory Szorc
zstd: vendor python-zstandard 0.7.0...
r30895 /* === POSIX Systems === */
# include <pthread.h>
Gregory Szorc
zstandard: vendor python-zstandard 0.9.0...
r37513 #define ZSTD_pthread_mutex_t pthread_mutex_t
#define ZSTD_pthread_mutex_init(a, b) pthread_mutex_init((a), (b))
#define ZSTD_pthread_mutex_destroy(a) pthread_mutex_destroy((a))
#define ZSTD_pthread_mutex_lock(a) pthread_mutex_lock((a))
#define ZSTD_pthread_mutex_unlock(a) pthread_mutex_unlock((a))
#define ZSTD_pthread_cond_t pthread_cond_t
#define ZSTD_pthread_cond_init(a, b) pthread_cond_init((a), (b))
#define ZSTD_pthread_cond_destroy(a) pthread_cond_destroy((a))
#define ZSTD_pthread_cond_wait(a, b) pthread_cond_wait((a), (b))
#define ZSTD_pthread_cond_signal(a) pthread_cond_signal((a))
#define ZSTD_pthread_cond_broadcast(a) pthread_cond_broadcast((a))
#define ZSTD_pthread_t pthread_t
#define ZSTD_pthread_create(a, b, c, d) pthread_create((a), (b), (c), (d))
#define ZSTD_pthread_join(a, b) pthread_join((a),(b))
Gregory Szorc
zstd: vendor python-zstandard 0.7.0...
r30895 #else /* ZSTD_MULTITHREAD not defined */
/* No multithreading support */
Gregory Szorc
zstandard: vendor python-zstandard 0.9.0...
r37513 typedef int ZSTD_pthread_mutex_t;
#define ZSTD_pthread_mutex_init(a, b) ((void)(a), (void)(b), 0)
#define ZSTD_pthread_mutex_destroy(a) ((void)(a))
#define ZSTD_pthread_mutex_lock(a) ((void)(a))
#define ZSTD_pthread_mutex_unlock(a) ((void)(a))
Gregory Szorc
zstd: vendor python-zstandard 0.7.0...
r30895
Gregory Szorc
zstandard: vendor python-zstandard 0.9.0...
r37513 typedef int ZSTD_pthread_cond_t;
#define ZSTD_pthread_cond_init(a, b) ((void)(a), (void)(b), 0)
#define ZSTD_pthread_cond_destroy(a) ((void)(a))
#define ZSTD_pthread_cond_wait(a, b) ((void)(a), (void)(b))
#define ZSTD_pthread_cond_signal(a) ((void)(a))
#define ZSTD_pthread_cond_broadcast(a) ((void)(a))
Gregory Szorc
zstd: vendor python-zstandard 0.7.0...
r30895
Gregory Szorc
zstandard: vendor python-zstandard 0.9.0...
r37513 /* do not use ZSTD_pthread_t */
Gregory Szorc
zstd: vendor python-zstandard 0.7.0...
r30895
#endif /* ZSTD_MULTITHREAD */
#if defined (__cplusplus)
}
#endif
#endif /* THREADING_H_938743 */