LCOV - code coverage report
Current view: top level - home/snorch/criu - sigframe.c (source / functions) Hit Total Coverage
Test: coverage3.info Lines: 11 11 100.0 %
Date: 2014-04-22 Functions: 1 1 100.0 %
Branches: 8 14 57.1 %

           Branch data     Line data    Source code
       1                 :            : #include <unistd.h>
       2                 :            : #include <string.h>
       3                 :            : 
       4                 :            : #include "asm/restore.h"
       5                 :            : #include "asm/restorer.h"
       6                 :            : 
       7                 :            : #include "protobuf/core.pb-c.h"
       8                 :            : 
       9                 :       4247 : int construct_sigframe(struct rt_sigframe *sigframe,
      10                 :            :                                      struct rt_sigframe *rsigframe,
      11                 :            :                                      CoreEntry *core)
      12                 :            : {
      13                 :       4247 :         k_rtsigset_t *blk_sigset = (k_rtsigset_t*)&RT_SIGFRAME_UC(sigframe).uc_sigmask;
      14                 :            : 
      15         [ +  + ]:       4247 :         if (core->tc)
      16                 :       4012 :                 memcpy(blk_sigset, &core->tc->blk_sigset, sizeof(k_rtsigset_t));
      17         [ +  - ]:        235 :         else if (core->thread_core->has_blk_sigset) {
      18                 :            :                 memcpy(blk_sigset,
      19                 :        235 :                         &core->thread_core->blk_sigset, sizeof(k_rtsigset_t));
      20                 :            :         } else
      21                 :            :                 memset(blk_sigset, 0, sizeof(k_rtsigset_t));
      22                 :            : 
      23         [ +  - ]:       4247 :         if (restore_fpu(sigframe, core))
      24                 :            :                 return -1;
      25                 :            : 
      26         [ +  - ]:       4247 :         if (RT_SIGFRAME_HAS_FPU(sigframe))
      27         [ +  - ]:       4247 :                 if (sigreturn_prep_fpu_frame(sigframe, &RT_SIGFRAME_FPU(rsigframe)))
      28                 :            :                         return -1;
      29                 :            : 
      30         [ +  - ]:       4247 :         if (restore_gpregs(sigframe, CORE_THREAD_ARCH_INFO(core)->gpregs))
      31                 :            :                 return -1;
      32                 :            : 
      33         [ +  - ]:       4247 :         setup_sas(sigframe, core->thread_core->sas);
      34                 :            : 
      35                 :            :         return 0;
      36                 :            : }

Generated by: LCOV version 1.9