示例#1
0
int32_t _bus_terminal_init_create(bus_terminal_t* bt, int16_t key)
{
    int32_t buskey = (key << 16);
    struct shm_t* shm = shm_create(buskey, sizeof(bus_t), 0);
    if (shm) {
        bt->bus = (bus_t*)shm_mem(shm);
        assert(bt->bus);

        bt->bus->key = buskey;
        bt->bus->channel_key = 0;
        bt->bus->size = sizeof(bus_t);

        // terminals local info
        bt->bus->terminal_count = 1;
        bt->bus->terminals[0] = bt->self;
        atom_set(&bt->bus->terminal_version, 1);

        // channels info
        bt->bus->channel_count = 0;
        atom_set(&bt->bus->channel_version, 1);
        return 0;
    }
    return -1;
}
示例#2
0
文件: test.c 项目: dpt/PrivateEye
static error test_rename(atom_set_t *d)
{
  error err;
  int   i;

  printf("test: rename\n");

  for (i = 0; i < NELEMS(newnames); i++)
  {
    atom_t idx;

    printf("adding '%s'... ", data[i]);

    err = atom_new(d, (const unsigned char *) data[i],
                   strlen(data[i]) + 1, &idx);
    if (err && err != error_ATOM_NAME_EXISTS)
      return err;

    if (err == error_ATOM_NAME_EXISTS)
      printf("already exists ");

    printf("as %d\n", idx);

    printf("renaming index %d to '%s'... ", idx, newnames[i]);

    err = atom_set(d, idx, (const unsigned char *) newnames[i],
                   strlen(newnames[i]) + 1);
    if (err == error_ATOM_NAME_EXISTS)
      printf("already exists!");
    else if (err)
      return err;
    else
      printf("ok");

    printf("\n");
  }

  return error_OK;
}