File: Deferred.cpp

package info (click to toggle)
pymol 1.8.4.0%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 42,248 kB
  • ctags: 24,095
  • sloc: cpp: 474,635; python: 75,034; ansic: 22,888; sh: 236; makefile: 78; csh: 21
file content (34 lines) | stat: -rw-r--r-- 500 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include "Deferred.h"

#include "MemoryDebug.h"

void DeferredInit(PyMOLGlobals * G, CDeferred * I)
{
  if(I) {
    I->G = G;
  }
}

void DeferredFree(CDeferred * I)
{
  while(I) {
    CDeferred *next = I->next;
    FreeP(I);
    I = next;
  }
}

CDeferred *DeferredExec(CDeferred * I)
{
  while(I) {                    /* executes all deferred actions */
    CDeferred *next = I->next;
    if(I->fn) {
      if(!I->fn(I)) {
        break;
      }
    }
    FreeP(I);
    I = next;
  }
  return I;
}