当前位置: 首页>>代码示例>>C++>>正文


C++ CALL_FN_W_W函数代码示例

本文整理汇总了C++中CALL_FN_W_W函数的典型用法代码示例。如果您正苦于以下问题:C++ CALL_FN_W_W函数的具体用法?C++ CALL_FN_W_W怎么用?C++ CALL_FN_W_W使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了CALL_FN_W_W函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: PTH_FUNC

// pthread_mutex_unlock
PTH_FUNC(int, pthreadZumutexZuunlock, // pthread_mutex_unlock
              pthread_mutex_t *mutex)
{
   int    ret;
   OrigFn fn;
   VALGRIND_GET_ORIG_FN(fn);

   if (TRACE_PTH_FNS) {
      fprintf(stderr, "<< pthread_mxunlk %p", mutex); fflush(stderr);
   }

   DO_CREQ_v_W(_VG_USERREQ__HG_PTHREAD_MUTEX_UNLOCK_PRE,
               pthread_mutex_t*,mutex);

   CALL_FN_W_W(ret, fn, mutex);

   if (ret == 0 /*success*/) {
      DO_CREQ_v_W(_VG_USERREQ__HG_PTHREAD_MUTEX_UNLOCK_POST,
                  pthread_mutex_t*,mutex);
   } else { 
      DO_PthAPIerror( "pthread_mutex_unlock", ret );
   }

   if (TRACE_PTH_FNS) {
      fprintf(stderr, " mxunlk -> %d >>\n", ret);
   }
   return ret;
}
开发者ID:jrmuizel,项目名称:chronicle-recorder,代码行数:29,代码来源:hg_intercepts.c

示例2: I_WRAP_SONAME_FNNAME_ZU

int I_WRAP_SONAME_FNNAME_ZU(NONE,fact) ( int n )
{
   int    r;
   OrigFn fn;
   VALGRIND_GET_ORIG_FN(fn);
   printf("in wrapper1-pre:  fact(%d)\n", n);
   CALL_FN_W_W(r, fn, n);
   printf("in wrapper1-post: fact(%d) = %d\n", n, r);
   return r;
}
开发者ID:ACSOP,项目名称:android_external_valgrind,代码行数:10,代码来源:wrap2.c

示例3: pthread_rwlock_destroy_intercept

static __always_inline
int pthread_rwlock_destroy_intercept(pthread_rwlock_t* rwlock)
{
   int   ret;
   OrigFn fn;
   VALGRIND_GET_ORIG_FN(fn);
   CALL_FN_W_W(ret, fn, rwlock);
   VALGRIND_DO_CLIENT_REQUEST_STMT(VG_USERREQ__POST_RWLOCK_DESTROY,
                                   rwlock, 0, 0, 0, 0);
   return ret;
}
开发者ID:Zekom,项目名称:valgrind,代码行数:11,代码来源:drd_pthread_intercepts.c

示例4: __cxa_guard_abort_release_intercept

static __always_inline
void __cxa_guard_abort_release_intercept(void *guard)
{
   int ret;
   OrigFn fn;
   VALGRIND_GET_ORIG_FN(fn);
   VALGRIND_DO_CLIENT_REQUEST_STMT(VG_USERREQ__PRE_MUTEX_UNLOCK,
                                   guard, mutex_type_cxa_guard, 0, 0, 0);
   CALL_FN_W_W(ret, fn, guard);
   VALGRIND_DO_CLIENT_REQUEST_STMT(VG_USERREQ__POST_MUTEX_UNLOCK,
                                   guard, 0, 0, 0, 0);
}
开发者ID:AboorvaDevarajan,项目名称:Valgrind-tool,代码行数:12,代码来源:drd_libstdcxx_intercepts.c

示例5: PTH_FUNC

// pthread_spin_unlock
PTH_FUNC(int, pthreadZuspinZuunlock, // pthread_spin_unlock
         pthread_spinlock_t *spinlock)
{
    int   ret;
    int   res;
    OrigFn fn;
    VALGRIND_GET_ORIG_FN(fn);
    VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__SPIN_INIT_OR_UNLOCK,
                               spinlock, mutex_type_spinlock, 0, 0, 0);
    CALL_FN_W_W(ret, fn, spinlock);
    return ret;
}
开发者ID:svn2github,项目名称:valgrind-3,代码行数:13,代码来源:drd_pthread_intercepts.c

示例6: I_WRAP_SONAME_FNNAME_ZU

UInt I_WRAP_SONAME_FNNAME_ZU(NONE,fn_1) ( UInt a1 )
{
   UInt r;
   void* fn;
   VALGRIND_GET_ORIG_FN(fn);
   printf("fn_1  wrapper pre ( %d )\n", (int)a1);
   CALL_FN_W_W(r, fn, a1);
   printf("fn_1  wrapper post1 = %d\n", (int)r);
   CALL_FN_v_W(fn, a1);
   printf("fn_1  wrapper post2 = %d\n", (int)r);
   return r;
}
开发者ID:svn2github,项目名称:valgrind-3,代码行数:12,代码来源:wrap6.c

示例7: QT4CORE_FUNC

// QMutex::unlock() -- _ZN6QMutex6unlockEv
QT4CORE_FUNC(void, _ZN6QMutex6unlockEv,
             void* mutex)
{
   int    ret;
   OrigFn fn;
   VALGRIND_GET_ORIG_FN(fn);
   VALGRIND_DO_CLIENT_REQUEST_STMT(VG_USERREQ__PRE_MUTEX_UNLOCK,
                                   mutex, mutex_type(mutex), 0, 0, 0);
   CALL_FN_W_W(ret, fn, mutex);
   VALGRIND_DO_CLIENT_REQUEST_STMT(VG_USERREQ__POST_MUTEX_UNLOCK,
                                   mutex, 0, 0, 0, 0);
}
开发者ID:AboorvaDevarajan,项目名称:Valgrind-tool,代码行数:13,代码来源:drd_qtcore_intercepts.c

示例8: VG_WRAP_FUNCTION_ZU

int VG_WRAP_FUNCTION_ZU(VG_Z_LIBC_SONAME, unsetenv) (const char* name)
{
    OrigFn fn;
    Word result;
    const char* p = name;
    VALGRIND_GET_ORIG_FN(fn);
    if (p)
        while (*p++)
            __asm__ __volatile__("" ::: "memory");
    CALL_FN_W_W(result, fn, name);
    return result;
}
开发者ID:qtekfun,项目名称:htcDesire820Kernel,代码行数:12,代码来源:mc_replace_strmem.c

示例9: sem_post_intercept

static __always_inline int sem_post_intercept(sem_t *sem)
{
   int   ret;
   OrigFn fn;
   VALGRIND_GET_ORIG_FN(fn);
   VALGRIND_DO_CLIENT_REQUEST_STMT(VG_USERREQ__PRE_SEM_POST,
                                   sem, 0, 0, 0, 0);
   CALL_FN_W_W(ret, fn, sem);
   VALGRIND_DO_CLIENT_REQUEST_STMT(VG_USERREQ__POST_SEM_POST,
                                   sem, ret == 0, 0, 0, 0);
   return ret;
}
开发者ID:Zekom,项目名称:valgrind,代码行数:12,代码来源:drd_pthread_intercepts.c

示例10: I_WRAP_SONAME_FNNAME_ZU

int I_WRAP_SONAME_FNNAME_ZU(NONE,fact2) ( int n )
{
   int    r;
   OrigFn fn;
   VALGRIND_GET_ORIG_FN(fn);
   printf("in wrapper2-pre:  fact(%d)\n", n); fflush(stdout);
   addMoreLard();
   CALL_FN_W_W(r, fn, n);
   addMoreLard();
   printf("in wrapper2-post: fact(%d) = %d\n", n, r); fflush(stdout);
   return r;
}
开发者ID:svn2github,项目名称:valgrind-3,代码行数:12,代码来源:wrap8.c

示例11: pthread_detach_intercept

static __always_inline
int pthread_detach_intercept(pthread_t pt_thread)
{
   int ret;
   OrigFn fn;

   VALGRIND_GET_ORIG_FN(fn);
   CALL_FN_W_W(ret, fn, pt_thread);
   DRD_(set_joinable)(pt_thread, 0);

   return ret;
}
开发者ID:Zekom,项目名称:valgrind,代码行数:12,代码来源:drd_pthread_intercepts.c

示例12: PTH_FUNC

// pthread_cancel*
PTH_FUNC(int, pthreadZucancelZa, pthread_t pt_thread)
{
   int res;
   int ret;
   OrigFn fn;
   VALGRIND_GET_ORIG_FN(fn);
   VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__PRE_THREAD_CANCEL,
                              pt_thread, 0, 0, 0, 0);
   CALL_FN_W_W(ret, fn, pt_thread);
   VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__POST_THREAD_CANCEL,
                              pt_thread, ret==0, 0, 0, 0);
   return ret;
}
开发者ID:svn2github,项目名称:valgrind-3,代码行数:14,代码来源:drd_pthread_intercepts.c

示例13: pthread_cond_broadcast_intercept

static __always_inline
int pthread_cond_broadcast_intercept(pthread_cond_t* cond)
{
   int   ret;
   OrigFn fn;
   VALGRIND_GET_ORIG_FN(fn);
   VALGRIND_DO_CLIENT_REQUEST_STMT(VG_USERREQ__PRE_COND_BROADCAST,
                                   cond, 0, 0, 0, 0);
   CALL_FN_W_W(ret, fn, cond);
   VALGRIND_DO_CLIENT_REQUEST_STMT(VG_USERREQ__POST_COND_BROADCAST,
                                   cond, 0, 0, 0, 0);
   return ret;
}
开发者ID:Zekom,项目名称:valgrind,代码行数:13,代码来源:drd_pthread_intercepts.c

示例14: pthread_cond_destroy_intercept

static __always_inline
int pthread_cond_destroy_intercept(pthread_cond_t* cond)
{
   int ret;
   OrigFn fn;
   VALGRIND_GET_ORIG_FN(fn);
   VALGRIND_DO_CLIENT_REQUEST_STMT(VG_USERREQ__PRE_COND_DESTROY,
                                   cond, 0, 0, 0, 0);
   CALL_FN_W_W(ret, fn, cond);
   VALGRIND_DO_CLIENT_REQUEST_STMT(VG_USERREQ__POST_COND_DESTROY,
                                   cond, ret==0, 0, 0, 0);
   return ret;
}
开发者ID:Zekom,项目名称:valgrind,代码行数:13,代码来源:drd_pthread_intercepts.c

示例15: pthread_mutex_unlock_intercept

static __always_inline
int pthread_mutex_unlock_intercept(pthread_mutex_t *mutex)
{
   int ret;
   OrigFn fn;
   VALGRIND_GET_ORIG_FN(fn);
   VALGRIND_DO_CLIENT_REQUEST_STMT(VG_USERREQ__PRE_MUTEX_UNLOCK,
                                   mutex, DRD_(mutex_type)(mutex), 0, 0, 0);
   CALL_FN_W_W(ret, fn, mutex);
   VALGRIND_DO_CLIENT_REQUEST_STMT(VG_USERREQ__POST_MUTEX_UNLOCK,
                                   mutex, 0, 0, 0, 0);
   return ret;
}
开发者ID:Zekom,项目名称:valgrind,代码行数:13,代码来源:drd_pthread_intercepts.c


注:本文中的CALL_FN_W_W函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。