~ubuntu-branches/ubuntu/trusty/erlang/trusty

« back to all changes in this revision

Viewing changes to erts/emulator/test/nif_SUITE_data/nif_mod.h

  • Committer: Bazaar Package Importer
  • Author(s): Clint Byrum
  • Date: 2011-05-05 15:48:43 UTC
  • mfrom: (3.5.13 sid)
  • Revision ID: james.westby@ubuntu.com-20110505154843-0om6ekzg6m7ugj27
Tags: 1:14.b.2-dfsg-3ubuntu1
* Merge from debian unstable.  Remaining changes:
  - Drop libwxgtk2.8-dev build dependency. Wx isn't in main, and not
    supposed to.
  - Drop erlang-wx binary.
  - Drop erlang-wx dependency from -megaco, -common-test, and -reltool, they
    do not really need wx. Also drop it from -debugger; the GUI needs wx,
    but it apparently has CLI bits as well, and is also needed by -megaco,
    so let's keep the package for now.
  - debian/patches/series: Do what I meant, and enable build-options.patch
    instead.
* Additional changes:
  - Drop erlang-wx from -et
* Dropped Changes:
  - patches/pcre-crash.patch: CVE-2008-2371: outer level option with
    alternatives caused crash. (Applied Upstream)
  - fix for ssl certificate verification in newSSL: 
    ssl_cacertfile_fix.patch (Applied Upstream)
  - debian/patches/series: Enable native.patch again, to get stripped beam
    files and reduce the package size again. (build-options is what
    actually accomplished this)
  - Remove build-options.patch on advice from upstream and because it caused
    odd build failures.

Show diffs side-by-side

added added

removed removed

Lines of Context:
4
4
    unsigned lib_ver;
5
5
    int static_cntA;
6
6
    int static_cntB;
 
7
    char* arg;
 
8
    int arg_sz;
7
9
    char func_name[1]; /* must be last */
8
10
}CallInfo;
9
11
 
 
12
#define RT_MAX 5
10
13
 
11
14
typedef struct
12
15
{
 
16
    ErlNifMutex* mtx;
13
17
    int calls;
14
18
    int ref_cnt;
15
19
    CallInfo* call_history;
 
20
    ErlNifResourceType* rt_arr[RT_MAX];
16
21
}NifModPrivData;
17
22
 
 
23
#define NifModPrivData_release(NMPD) \
 
24
    do { \
 
25
        int is_last; \
 
26
        enif_mutex_lock((NMPD)->mtx); \
 
27
        is_last = (--(NMPD)->ref_cnt == 0); \
 
28
        enif_mutex_unlock((NMPD)->mtx); \
 
29
        if (is_last) { \
 
30
            enif_mutex_destroy((NMPD)->mtx); \
 
31
            enif_free((NMPD)); \
 
32
        } \
 
33
    }while (0)
 
34