Mercurial > urweb
comparison src/c/http.c @ 1938:d02c1a0d8082
Proper handling of serialization failures during SQL COMMIT
author | Adam Chlipala <adam@chlipala.net> |
---|---|
date | Mon, 23 Dec 2013 15:59:17 +0000 |
parents | 94f9570671f0 |
children | 9f3597979e98 |
comparison
equal
deleted
inserted
replaced
1937:94f9570671f0 | 1938:d02c1a0d8082 |
---|---|
445 | 445 |
446 void uw_copy_client_data(void *dst, void *src) { | 446 void uw_copy_client_data(void *dst, void *src) { |
447 } | 447 } |
448 | 448 |
449 void uw_do_expunge(uw_context ctx, uw_Basis_client cli, void *data) { | 449 void uw_do_expunge(uw_context ctx, uw_Basis_client cli, void *data) { |
450 uw_ensure_transaction(ctx); | 450 do { |
451 uw_get_app(ctx)->expunger(ctx, cli); | 451 uw_ensure_transaction(ctx); |
452 uw_commit(ctx); | 452 uw_get_app(ctx)->expunger(ctx, cli); |
453 } while (uw_commit(ctx) && (uw_rollback(ctx, 1), 1)); | |
453 } | 454 } |
454 | 455 |
455 void uw_post_expunge(uw_context ctx, void *data) { | 456 void uw_post_expunge(uw_context ctx, void *data) { |
456 } | 457 } |
457 | 458 |