📄 bigpic2.cs
字号:
m4_ignore([dnl#include <sys/types.h>#include <stdlib.h>#include <db.h>int foo();intmain(){ return(foo());}intfoo(){#define MAXIMUM_RETRY 5 DB_ENV *dbenv; DB *dbp; DBT key, data; DB_TXN *tid; int fail, ret, t_ret;])m4_indent([dnlfor (fail = 0;;) { /* Begin the transaction. */ if ((ret = dbenv-__GT__txn_begin(dbenv, NULL, &tid, 0)) != 0) { dbenv-__GT__err(dbenv, ret, "dbenv-__GT__txn_begin"); exit (1); }m4_blank /* Store the key. */ switch (ret = dbp-__GT__put(dbp, tid, &key, &data, 0)) { case 0: /* Success: commit the change. */ printf("db: %s: key stored.\n", (char *)key.data); if ((ret = tid-__GT__commit(tid, 0)) != 0) { dbenv-__GT__err(dbenv, ret, "DB_TXN-__GT__commit"); exit (1); } return (0); case DB_LOCK_DEADLOCK: default: /* Failure: retry the operation. */ if ((t_ret = tid-__GT__abort(tid)) != 0) { dbenv-__GT__err(dbenv, t_ret, "DB_TXN-__GT__abort"); exit (1); } if (fail++ == MAXIMUM_RETRY) return (ret); continue; }}])m4_ignore([}])
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -