summaryrefslogtreecommitdiff
path: root/apps/couch/src
diff options
context:
space:
mode:
authorRobert Newson <rnewson@apache.org>2011-07-25 21:25:40 +0000
committerAdam Kocoloski <adam@cloudant.com>2011-08-12 21:28:27 -0400
commitc78b19296031168aef4142fbe409a0e7d2edda82 (patch)
treeeb96d4e4dc9eb0d059dcba472b20a24c3767a9d2 /apps/couch/src
parenta563a53fe829df17844f32686dc8ac2cc45c8380 (diff)
assert that calls to file functions actually succeed.
1) couch_file:sync could leave open fd's if close failed. Now we'll get a trace. 2) couch_file:append_term failing would be bad, so let's test that too. backported from trunk r1150915 git-svn-id: https://svn.apache.org/repos/asf/couchdb/branches/1.1.x@1150918 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'apps/couch/src')
-rw-r--r--apps/couch/src/couch_db_updater.erl6
-rw-r--r--apps/couch/src/couch_file.erl2
-rw-r--r--apps/couch/src/couch_server_sup.erl2
3 files changed, 5 insertions, 5 deletions
diff --git a/apps/couch/src/couch_db_updater.erl b/apps/couch/src/couch_db_updater.erl
index 179e1f35..9bf52ee0 100644
--- a/apps/couch/src/couch_db_updater.erl
+++ b/apps/couch/src/couch_db_updater.erl
@@ -52,7 +52,7 @@ init({DbName, Filepath, Fd, Options}) ->
terminate(_Reason, Db) ->
- couch_file:close(Db#db.fd),
+ ok = couch_file:close(Db#db.fd),
couch_util:shutdown_sync(Db#db.compactor_pid),
couch_util:shutdown_sync(Db#db.fd),
ok.
@@ -513,9 +513,9 @@ flush_trees(#db{fd=Fd,header=Header}=Db,
{ok, NewSummaryPointer} =
case Header#db_header.disk_version < 4 of
true ->
- couch_file:append_term(Fd, {Doc#doc.body, DiskAtts});
+ {ok, _} = couch_file:append_term(Fd, {Doc#doc.body, DiskAtts});
false ->
- couch_file:append_term_md5(Fd, {Doc#doc.body, DiskAtts})
+ {ok, _} = couch_file:append_term_md5(Fd, {Doc#doc.body, DiskAtts})
end,
#leaf{
deleted = IsDeleted,
diff --git a/apps/couch/src/couch_file.erl b/apps/couch/src/couch_file.erl
index 0136e877..dfc1f822 100644
--- a/apps/couch/src/couch_file.erl
+++ b/apps/couch/src/couch_file.erl
@@ -164,7 +164,7 @@ truncate(Fd, Pos) ->
sync(Filepath) when is_list(Filepath) ->
{ok, Fd} = file:open(Filepath, [append, raw]),
- try file:sync(Fd) after file:close(Fd) end;
+ try ok = file:sync(Fd) after ok = file:close(Fd) end;
sync(Fd) ->
gen_server:call(Fd, sync, infinity).
diff --git a/apps/couch/src/couch_server_sup.erl b/apps/couch/src/couch_server_sup.erl
index bc1e6036..726e397f 100644
--- a/apps/couch/src/couch_server_sup.erl
+++ b/apps/couch/src/couch_server_sup.erl
@@ -120,7 +120,7 @@ start_server(IniFiles) ->
undefined -> [];
Uri -> io_lib:format("~s~n", [Uri])
end end || Uri <- Uris],
- file:write_file(UriFile, Lines)
+ ok = file:write_file(UriFile, Lines)
end,
{ok, Pid}.