{"push_id":936076788,"size":17,"distinct_size":17,"ref":"refs/heads/master","head":"b4999fdb17f7c1c4ca9f727b35e51dbd5ac4b349","before":"f974a1255fc17d624a9e73d93e2d8d8a443f53cd","commits":[{"sha":"1a1a6c0d0f2d3c48d9f320ef5ec42a268beeaad8","author":{"email":"0ed1648d92ca0373297a182b1dba1b974ad10d88@intel.com","name":"Thiago Macieira"},"message":"Use pipe2(2) instead of pipe(2)\n\nSince Soletta is meant to be thread-safe, this is required. pipe(2) is\nnot thread-safe therefore it MUST NEVER be used in a threaded\napplication.\n\nIt's ok to use it in the child process between fork(2) and execve(2).","distinct":true,"url":"https://api.github.com/repos/guchaojie/soletta/commits/1a1a6c0d0f2d3c48d9f320ef5ec42a268beeaad8"},{"sha":"adb09de2ab8598e5da8598afc613ffbb82784baa","author":{"email":"979b9165500b0741b9d0500e2efd74fc1547bff7@gmail.com","name":"Flavio Ceolin"},"message":"http:server: POSTDATA is handled twice\n\nPOSTDATA is threat on post_iterator and shouldn't be on\nheaders_iterator.\n\nSigned-off-by: Flavio Ceolin <flavio.ceolin@intel.com>","distinct":true,"url":"https://api.github.com/repos/guchaojie/soletta/commits/adb09de2ab8598e5da8598afc613ffbb82784baa"},{"sha":"949c3e18bccce4e8afc21b29a59174588a96c65f","author":{"email":"979b9165500b0741b9d0500e2efd74fc1547bff7@gmail.com","name":"Flavio Ceolin"},"message":"http:client: Handle POSTDATA properly\n\nA postdata must contain a key to make possible to create a\nmultipart/form-data post and a server handle it correctly. As a\nside-effect, using curlform* api make easier to transfer file contents\njust passing the file path to postdata.\n\nSigned-off-by: Flavio Ceolin <flavio.ceolin@intel.com>","distinct":true,"url":"https://api.github.com/repos/guchaojie/soletta/commits/949c3e18bccce4e8afc21b29a59174588a96c65f"},{"sha":"9d21a2a661cc6c0b8908e840b53933406f938eba","author":{"email":"979b9165500b0741b9d0500e2efd74fc1547bff7@gmail.com","name":"Flavio Ceolin"},"message":"samples:http:client: Support to post data\n\nAdded the options -F (similar curl) that allows one to send a\nmultipart/form-data post.\n\nSigned-off-by: Flavio Ceolin <flavio.ceolin@intel.com>","distinct":true,"url":"https://api.github.com/repos/guchaojie/soletta/commits/9d21a2a661cc6c0b8908e840b53933406f938eba"},{"sha":"ff3cc0240f3ab6df7daf4c0b32c837815a0483f5","author":{"email":"979b9165500b0741b9d0500e2efd74fc1547bff7@gmail.com","name":"Flavio Ceolin"},"message":"http:server: Handle post data correctly\n\nSigned-off-by: Flavio Ceolin <flavio.ceolin@intel.com>","distinct":true,"url":"https://api.github.com/repos/guchaojie/soletta/commits/ff3cc0240f3ab6df7daf4c0b32c837815a0483f5"},{"sha":"9e02d6b7cc7f4224a03467c96db5a36f20096cac","author":{"email":"e5bb0ea9e2726000eec3a04030e22edb132ff9c8@intel.com","name":"Iván Briano"},"message":"common: Ignore unknown locale keys instead of failing\n\nSigned-off-by: Iván Briano <ivan.briano@intel.com>","distinct":true,"url":"https://api.github.com/repos/guchaojie/soletta/commits/9e02d6b7cc7f4224a03467c96db5a36f20096cac"},{"sha":"2467f6e49fcc524f8f7213ebf3fe9066367e1f7c","author":{"email":"e5bb0ea9e2726000eec3a04030e22edb132ff9c8@intel.com","name":"Iván Briano"},"message":"build: Split building of tests from running them\n\nWe need to be able to just build our tests without running them, in\norder for it to be possible to run them later on the target platform\nwhen cross-compiling.\n\nSigned-off-by: Iván Briano <ivan.briano@intel.com>","distinct":true,"url":"https://api.github.com/repos/guchaojie/soletta/commits/2467f6e49fcc524f8f7213ebf3fe9066367e1f7c"},{"sha":"efc977509d16ec988b2b6f0506b230636d04af16","author":{"email":"e93b2ba155558a1e222a77a29cc5f0496750b13d@intel.com","name":"Gustavo Sverzut Barbieri"},"message":"fix shutdowns so further inits will work.\n\nIf we call shutdown() we should be able to call init() again, however\nsome subsystems were not zeroing pointers, thus they would not be\nreinitialized and we'd end with invalid memory access.\n\nSigned-off-by: Gustavo Sverzut Barbieri gustavo.barbieri@intel.com","distinct":true,"url":"https://api.github.com/repos/guchaojie/soletta/commits/efc977509d16ec988b2b6f0506b230636d04af16"},{"sha":"ee285e0777757da11b4fd111cb1368f6ac75339f","author":{"email":"e93b2ba155558a1e222a77a29cc5f0496750b13d@intel.com","name":"Gustavo Sverzut Barbieri"},"message":"common/mainloop: rename sol_mainloop_source_new() to '_add()'\n\nFix the name so it's in line with other mainloop functions.\n\nSigned-off-by: Gustavo Sverzut Barbieri gustavo.barbieri@intel.com","distinct":true,"url":"https://api.github.com/repos/guchaojie/soletta/commits/ee285e0777757da11b4fd111cb1368f6ac75339f"},{"sha":"266d7369e3f1cd252e18b86589c39b7405f5c502","author":{"email":"e93b2ba155558a1e222a77a29cc5f0496750b13d@intel.com","name":"Gustavo Sverzut Barbieri"},"message":"common/mainloop: document Multi-Thread behavior of mainloop.\n\nSigned-off-by: Gustavo Sverzut Barbieri gustavo.barbieri@intel.com","distinct":true,"url":"https://api.github.com/repos/guchaojie/soletta/commits/266d7369e3f1cd252e18b86589c39b7405f5c502"},{"sha":"e689a223a8ffdd0bf2dfd4557275b704b40645d4","author":{"email":"e93b2ba155558a1e222a77a29cc5f0496750b13d@intel.com","name":"Gustavo Sverzut Barbieri"},"message":"common/mainloop: allow different implementation in runtime.\n\nThis moves the mainloop implementation to a structure, allowing it to\nbe changed in runtime before sol_init() is called.\n\nThis makes it easy to integrate Soletta as a guest library with other\napplications that already provide a mainloop, such as Node.JS as we\ncan create a a pass thru wrapper.\n\nIt is worth to remember that we can host other guest mainloops, such\nas implemented in sol-glib-integration.h.\n\nSigned-off-by: Gustavo Sverzut Barbieri gustavo.barbieri@intel.com","distinct":true,"url":"https://api.github.com/repos/guchaojie/soletta/commits/e689a223a8ffdd0bf2dfd4557275b704b40645d4"},{"sha":"fb553bc2b801bf13af384fec7e2b6d80d42b9ad5","author":{"email":"e93b2ba155558a1e222a77a29cc5f0496750b13d@intel.com","name":"Gustavo Sverzut Barbieri"},"message":"datatypes/vector: check low and high before doing binsearch.\n\nIn our use cases it is common to work with sorted inserts with\nelements before the first or after the last, such as the mainloop\ntimeout where it is commont to insert at the end.\n\nThis does a cheap check for those elements before entering binary\nsearch.\n\nSigned-off-by: Gustavo Sverzut Barbieri gustavo.barbieri@intel.com","distinct":true,"url":"https://api.github.com/repos/guchaojie/soletta/commits/fb553bc2b801bf13af384fec7e2b6d80d42b9ad5"},{"sha":"a19a61364e263579db344c746fa70238b17fe1c3","author":{"email":"e93b2ba155558a1e222a77a29cc5f0496750b13d@intel.com","name":"Gustavo Sverzut Barbieri"},"message":"datatypes/vector: stable sorted insert.\n\nIf an element already exists (compares == 0), then add after it. This\nis good because we move less data and we keep the elements in a stable\norder, which may help mainloop timers to behave in a more predictable\nfashion.\n\nSigned-off-by: Gustavo Sverzut Barbieri gustavo.barbieri@intel.com","distinct":true,"url":"https://api.github.com/repos/guchaojie/soletta/commits/a19a61364e263579db344c746fa70238b17fe1c3"},{"sha":"d928fc2e8c47474629d0b178f77113763a3678e1","author":{"email":"e93b2ba155558a1e222a77a29cc5f0496750b13d@intel.com","name":"Gustavo Sverzut Barbieri"},"message":"datatypes/vector: add \"_nocheck()\" variants when index is pre-validated.\n\nIn many cases we pre-validated the index and there is no need to do it\nagain, such as in loops or when doing binary search.\n\nSigned-off-by: Gustavo Sverzut Barbieri gustavo.barbieri@intel.com","distinct":true,"url":"https://api.github.com/repos/guchaojie/soletta/commits/d928fc2e8c47474629d0b178f77113763a3678e1"},{"sha":"2bf8631cfcb7796c68af84c52de78ef68bb5fe99","author":{"email":"e93b2ba155558a1e222a77a29cc5f0496750b13d@intel.com","name":"Gustavo Sverzut Barbieri"},"message":"datatypes/vector: cross-reference various ways to delete elements.\n\nSigned-off-by: Gustavo Sverzut Barbieri gustavo.barbieri@intel.com","distinct":true,"url":"https://api.github.com/repos/guchaojie/soletta/commits/2bf8631cfcb7796c68af84c52de78ef68bb5fe99"},{"sha":"38a1684c6e701cf29f3ddc5af4056ba6578565c2","author":{"email":"e93b2ba155558a1e222a77a29cc5f0496750b13d@intel.com","name":"Gustavo Sverzut Barbieri"},"message":"datatypes/vector: +find/match, +insert_at, change insert_sorted return.\n\nIntroduce functions to search vectors, such as get the index of the\nfirst or last occurence using linear or binary search.\n\nAn alternative is to \"match\", the pointer may be just a template that\ncompare_cb() may return 0 to find an element.\n\nExpose insert_at().\n\nMake insert_sorted() return the index so we can skip lookup in some\ncases.\n\nChange return types from 'int' to 'int32_t' or 'uint16_t' so we're\nsure to work on platforms where int is not 4 bytes\n\nSigned-off-by: Gustavo Sverzut Barbieri <gustavo.barbieri@intel.com>","distinct":true,"url":"https://api.github.com/repos/guchaojie/soletta/commits/38a1684c6e701cf29f3ddc5af4056ba6578565c2"},{"sha":"b4999fdb17f7c1c4ca9f727b35e51dbd5ac4b349","author":{"email":"e93b2ba155558a1e222a77a29cc5f0496750b13d@intel.com","name":"Gustavo Sverzut Barbieri"},"message":"common/mainloop: fix possible unsigned integer underflow.\n\nThe code was always using \"i++\" and when no increase was wanted it was\ndoing \"i--\" to fix it. But if i == 0, then we have an underflow :-/\n\nChange the code to only increment when we should go to the next\nelement. If the timeout was re-inserted (r != i), then we must\nre-process the current index.\n\nSigned-off-by: Gustavo Sverzut Barbieri gustavo.barbieri@intel.com","distinct":true,"url":"https://api.github.com/repos/guchaojie/soletta/commits/b4999fdb17f7c1c4ca9f727b35e51dbd5ac4b349"}]}