X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/3ea1b35b3243e4e2d061a207460b009883522d24..c71cb63f38cacb217755ecf40c4b7a60794676c6:/nominatim/index.c diff --git a/nominatim/index.c b/nominatim/index.c index 5d10994c..55f3c578 100644 --- a/nominatim/index.c +++ b/nominatim/index.c @@ -343,13 +343,14 @@ void *nominatim_indexThread(void * thread_data_in) updateStartTime = time(0); int done = 0; + + if (thread_data->writer) + { + nominatim_exportPlaceQueries(place_id, thread_data->conn, &querySet); + } + while(!done) { - if (thread_data->writer) - { - nominatim_exportPlaceQueries(place_id, thread_data->conn, &querySet); - } - paramPlaceID = PGint32(place_id); paramValues[0] = (char *)¶mPlaceID; @@ -363,12 +364,14 @@ void *nominatim_indexThread(void * thread_data_in) if (strncmp(PQerrorMessage(thread_data->conn), "ERROR: deadlock detected", 25)) { fprintf(stderr, "index_placex: UPDATE failed - deadlock, retrying\n"); + PQclear(res); + sleep(rand() % 10); } else { fprintf(stderr, "index_placex: UPDATE failed: %s", PQerrorMessage(thread_data->conn)); PQclear(res); - sleep(5); + sleep(rand() % 10); // exit(EXIT_FAILURE); } }