~ubuntu-branches/ubuntu/precise/corosync/precise-proposed

« back to all changes in this revision

Viewing changes to test/testquorum.c

  • Committer: Bazaar Package Importer
  • Author(s): Ante Karamatic
  • Date: 2009-08-21 09:29:56 UTC
  • mfrom: (1.1.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20090821092956-w9qxxxx3zeoh8dem
Tags: 1.0.0-4ubuntu2
* debian/control:
  - 'Ubuntu Developers' instead of 'Ubuntu Core Developers'
    as maintainer
  - Bump debhelper dependecy to 7

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#include <config.h>
 
2
 
 
3
#include <sys/types.h>
 
4
#include <stdio.h>
 
5
#include <stdint.h>
 
6
#include <stdlib.h>
 
7
#include <unistd.h>
 
8
#include <corosync/corotypes.h>
 
9
#include <corosync/quorum.h>
 
10
 
 
11
static quorum_handle_t g_handle;
 
12
 
 
13
static void quorum_notification_fn(
 
14
        quorum_handle_t handle,
 
15
        uint32_t quorate,
 
16
        uint64_t ring_id,
 
17
        uint32_t view_list_entries,
 
18
        uint32_t *view_list)
 
19
{
 
20
        int i;
 
21
 
 
22
        printf("quorum notification called \n");
 
23
        printf("  quorate   = %lu\n", (long unsigned int) quorate);
 
24
        printf("  ring id   = %llu\n", (long long unsigned int) ring_id);
 
25
        printf("  num nodes = %lu ", (long unsigned int) view_list_entries);
 
26
 
 
27
        for (i=0; i<view_list_entries; i++) {
 
28
                printf(" %d ", view_list[i]);
 
29
        }
 
30
        printf("\n");
 
31
}
 
32
 
 
33
 
 
34
int main(int argc, char *argv[])
 
35
{
 
36
        int quorate;
 
37
        quorum_callbacks_t callbacks;
 
38
        int err;
 
39
 
 
40
        callbacks.quorum_notify_fn = quorum_notification_fn;
 
41
        if ( (err=quorum_initialize(&g_handle, &callbacks)) != CS_OK)
 
42
                fprintf(stderr, "quorum_initialize FAILED: %d\n", err);
 
43
 
 
44
        if ( (err=quorum_trackstart(g_handle, CS_TRACK_CHANGES)) != CS_OK)
 
45
                fprintf(stderr, "quorum_trackstart FAILED: %d\n", err);
 
46
 
 
47
        if ( (err=quorum_getquorate(g_handle, &quorate)) != CS_OK)
 
48
                fprintf(stderr, "quorum_getquorate FAILED: %d\n", err);
 
49
        else {
 
50
                printf("quorate   %d\n", quorate);
 
51
        }
 
52
 
 
53
        printf("Waiting for quorum events, press ^C to finish\n");
 
54
        printf("-------------------\n");
 
55
 
 
56
        while (1)
 
57
                quorum_dispatch(g_handle, CS_DISPATCH_ALL);
 
58
 
 
59
        return 0;
 
60
}