Dear ovs-developer,

Now for some reason I have to write codes like this (My program perform
ovsdb-client):

LOOP {
    ........
    important task every 2 second;
    ovsdb_idl_txn_commit_block(txn);
    ........
}

If ovsdb-server is OK, ovsdb_idl_txn_commit_block will not block; but if
ovsdb-server is blocked or network is blocked, Is there any possible for my
program blocking at poll_block() (in ovsdb_idl_txn_commit_block function)
for long time ? Which will cause delay to the " important task every 2
second;"


---------------------------I'm gorgeous dividing
line-------------------------------

ovsdb_idl_txn_commit_block function detail is :

enum ovsdb_idl_txn_status
ovsdb_idl_txn_commit_block(struct ovsdb_idl_txn *txn)
{
    enum ovsdb_idl_txn_status status;

    fatal_signal_run();
    while ((status = ovsdb_idl_txn_commit(txn)) == TXN_INCOMPLETE) {
        ovsdb_idl_run(txn->idl);
        ovsdb_idl_wait(txn->idl);
        ovsdb_idl_txn_wait(txn);
        poll_block();
    }
    return status;
}
_______________________________________________
discuss mailing list
discuss@openvswitch.org
http://openvswitch.org/mailman/listinfo/discuss

Reply via email to