#include <stdlib.h>
#include "libc.h"

#define COUNT 32

static void (*funcs[COUNT])(void);
static int count;
static volatile int lock[2];

void __funcs_on_quick_exit() {
  void (*func)(void);
  LOCK(lock);
  while (count > 0) {
    func = funcs[--count];
    UNLOCK(lock);
    func();
    LOCK(lock);
  }
}

int at_quick_exit(void (*func)(void)) {
  if (count == 32)
    return -1;
  LOCK(lock);
  funcs[count++] = func;
  UNLOCK(lock);
  return 0;
}
