gecko/js/jsd/jsd_lock.h
Terrence Cole c2e391d0f5 Bug 501536 - Make jsd compile as C++; r=luke
This should be the last real C consumer of JS-API in mozilla-central.

--HG--
rename : js/jsd/jsd_atom.c => js/jsd/jsd_atom.cpp
rename : js/jsd/jsd_high.c => js/jsd/jsd_high.cpp
rename : js/jsd/jsd_hook.c => js/jsd/jsd_hook.cpp
rename : js/jsd/jsd_java.c => js/jsd/jsd_java.cpp
rename : js/jsd/jsd_lock.c => js/jsd/jsd_lock.cpp
rename : js/jsd/jsd_obj.c => js/jsd/jsd_obj.cpp
rename : js/jsd/jsd_scpt.c => js/jsd/jsd_scpt.cpp
rename : js/jsd/jsd_stak.c => js/jsd/jsd_stak.cpp
rename : js/jsd/jsd_step.c => js/jsd/jsd_step.cpp
rename : js/jsd/jsd_text.c => js/jsd/jsd_text.cpp
rename : js/jsd/jsd_val.c => js/jsd/jsd_val.cpp
rename : js/jsd/jsdebug.c => js/jsd/jsdebug.cpp
rename : js/jsd/jsdstubs.c => js/jsd/jsdstubs.cpp
2012-09-04 09:02:03 -07:00

43 lines
967 B
C

/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/*
* Header for JavaScript Debugging support - Locking and threading functions
*/
#ifndef jsd_lock_h___
#define jsd_lock_h___
/*
* If you want to support threading and locking, define JSD_THREADSAFE and
* implement the functions below.
*/
/*
* NOTE: These locks must be reentrant in the sense that they support
* nested calls to lock and unlock.
*/
typedef struct JSDStaticLock JSDStaticLock;
extern JSDStaticLock*
jsd_CreateLock();
extern void
jsd_Lock(JSDStaticLock* lock);
extern void
jsd_Unlock(JSDStaticLock* lock);
#ifdef DEBUG
extern JSBool
jsd_IsLocked(JSDStaticLock* lock);
#endif /* DEBUG */
extern void*
jsd_CurrentThread();
#endif /* jsd_lock_h___ */