Age | Commit message (Collapse) | Author | Files | Lines |
|
The binder traps faults by default to recover as much as
possible from unexpected errors.
Developers may need to remove that behaviour to get core file.
This introduces 2 ways to set or remove the trapping of faults:
- the environment variable AFB_TRAP_FAULTS
- the command line option --trap-faults
Both take a boolean value set using on of the following words:
1 yes true on -- enable trapping of faults (the default)
0 no false off -- disable trapping of faults
Bug-AGL: SPEC-1702
Change-Id: I6c6a3b933dbda9922a6079c390a601c533d49e55
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
It may be difficult to retrieve the root directory from bindings
and from process spawn by option --exec.
In the same way, well identifying the workdir might interest
programs or bindings.
So, from now, the environment variables below are set:
- AFB_ROOTDIR: identify the rootdir as set by --rootdir
and in the context of AGL it will be the widget directory
- AFB_WORKDIR: identify the workdir as set by --workdir
To avoid any confusion, the function realpath is used to export
absolute path names.
Bug-AGL: SPEC-1694
Change-Id: Id272e009ca975e28aaab8b14fa2a98fbd2216e73
Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
Change-Id: Ic9d1cc44ef1bbf6db4afe8eb7016b05f4cddb9a4
Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
|
|
When sd_event_prepare returns an error there is currently
no way to restore the event loop working.
It happens when a callback of an sd_event is faulty
(ex: SIGSEGV). In that case the monitoring of signals
(sig-monitor) interfer badly with systemd. But at the
the application firstly has error.
To avoid flooding the journal with messages, aborting
is the best solution.
Bug-AGL: SPEC-1681
Change-Id: If01295f07b3c3fc8c8ec1ac5bf04840d42ee9774
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
This implementation detects deconnections and try to reconnect
lazily on need.
Bug-AGL: SPEC-1668
Change-Id: Ib2a20a4578f2da80afe1564c42de96c4aa250e64
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
This commit also include many comments and
improvements in naming of functions.
Bug-AGL: SPEC-1668
Change-Id: I1b5dd95678d94e9edfca1c598c5697e90bb9e5bf
Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
|
|
Change-Id: I8bb96419cfac3da88e75da42c66a5d359ec7c666
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
The pending calls receive an error notification
when the server hang up.
Bug-AGL: SPEC-1668
Change-Id: I052dca5e338a7650d7630856e21f1d3a81c6f265
Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
|
|
This improves the code and also prepare answering
diconnected on server hangup.
Bug-AGL: SPEC-1668
Change-Id: I2cf5a75bc2db6e9a0fd0cab88c7ff3cb9fd06242
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
Change-Id: I6fbe737d4986fd18f9675942cd7ad75966125343
Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
|
|
Use the feature of afb-socket to handle
the api name.
Bug-AGL: SPEC-1668
Change-Id: Ib13891d7948c75bc5d342b45c774f8e6c3ea016e
Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
|
|
Allows to either open a 'struct fdev*' or a int.
This prepares further integration in afb-api-ws.
Bug-AGL: SPEC-1668
Change-Id: I3d61be582bceaab636460b3c7de3ac2f24ed9473
Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
|
|
The function afb_stub_ws_on_hangup is now
named afb_stub_ws_set_on_hangup.
Bug-AGL: SPEC-1668
Change-Id: Ie96c77d4af10ee6b42aea6f57d7c3aadb95e6467
Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
|
|
The verb mutebug returns without answering
but increment the reference count of the request.
This has 2 weird effects:
- on the service, it creates a memory leak
- on the client, it creates a starve of answer
Both effects are intended to test further improvements
of the binder.
Change-Id: I76ebe0dff1b42a8a72e1b3536857d1d1811452c1
Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
|
|
Change-Id: I8404d2cc83624eae755c39175e3096e024f30e24
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
These functions was missing and the documentation
was erronous. This fixes that issue by providing
the missing functions and updating the documentation.
Bug-AGL: SPEC-1669
Change-Id: I543b0fbe29370be6f35f15ca3bfa48fef9ab4055
Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
|
|
The path can be a symbolic link. It must be resolved
to be usefull.
Change-Id: I5db247fd9925065684e036d8d458c2131006f9db
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
Change-Id: I434a0bd6be2758fd7964bc272d63dc280d400f47
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
This change allows a binding to know its
installation path. This path is retrieved using
the api function 'afb_api_settings'.
The path is returned --if known-- as a string
of key "binding-path".
Change-Id: Ie1a349dc4936d4ccf173f1f77e118099f7f0599a
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
Change-Id: Iab93a26340fa9743a58ca43cd903bbf31c783e5b
Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
|
|
Change-Id: I7100961ef8f8a75d623a0667178f191dd4cfb9d3
Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
|
|
The objective is to have a well identified and
possibly reusable internally.
Change-Id: Icdb6ce7d85ae26373cfe4f0b492fe97b74ed747c
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
Change-Id: Ifba67b4b83650f9b32f78d077d0bbd3d3882238b
Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
|
|
The function afb_msg_json_internal_error was based
on the previous reply standard and was not
used very much. Removing it seems a good idea.
Change-Id: I3dddee9c24ffd8c43c787b9b6a737ab013d757b7
Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
|
|
Change-Id: Ic1954403e3924def8fc9fa395ac54e4c5ee6293a
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
The test now raise an overall coverage rate:
lines......: 75.4% (8356 of 11080 lines)
functions..: 80.4% (1094 of 1360 functions)
Also Improve the documentation and improve parts of code.
Change-Id: Ic2b8bc2f85d4181aa0b358a953f95cb105a0eed9
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
An API is always valid internally to the binder.
Change-Id: I3c8eed166c9cfc1bcc47daa30c8f327af777d136
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
The program afb-client-demo now exits whith one of the
following code:
0 - everything went well, no error
1 - last received answer was an error
2 - the remote hung up the connection
3 - stdin either has too long line (16384) or has error
4 - bad argument of the command line
5 - cant connect to remote
Bug-AGL: SPEC-1619
Change-Id: Ia979c9ddcdae496ce205882b895cd9742f93f365
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
The dependency to fdev-epoll is not real
at the moment because afb-daemon still uses
systemd event loop mechanisms. At the end
use of it will depend on the conditional
compilation flag as REMOVE_SYSTEMD_EVENT here.
Change-Id: I46e65cddafef05a9418cd4cf4d5cbf596ebeda49
Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
|
|
Having a code more easy to read is better here.
Change-Id: I429e82d87729e41ec53d0852daa6f146261443c9
Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
|
|
Less code is faster and safer.
Change-Id: Ide71fec5ee80f14482e2972a3d0f65ef0b589f12
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
Change-Id: I2a08d70b655478252de48fa2071cd4682aa4192d
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
While making coverage test, few leaks appeared.
This corrects the last discorvered ones.
Change-Id: Id9e508bc9412072b628742971b02dd3d62799f3f
Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
|
|
Despite its poor performance, this changes is good
at the end because:
- it allows to put config in files
- it removes dirty code to translate to JSON
- it removes dirty code to dump the config
- it unifies code for scanning hook's flag's names
- it improves unity of naming between option's names and JSON's names
Change-Id: I2487c8746d78a0cff80505a12b9fa60e40da9951
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
Change-Id: Ib11160a8137480af92c450b65039b1272084f2d6
Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
|
|
The client API are now instanciated after the server API.
This allows to be client of itself but forbids to export
(serve) a client API.
Change-Id: I9b19180cfb60108344c2f846427e964df8339430
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
By default json-c escapes the slashes. This is almost ugly
and unuseful. But the resolution (with JSON_C_TO_STRING_NOSLASHESCAPE)
was introduced lately by json-c. Integrate it as much as possible.
Change-Id: Ia9c4bee78dc11df1ee9640cb04311991bd860e43
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
coverage values:
- lines: 70.5 %
- functions: 76.3 %
Change-Id: Iaf802e84bbfa57502bbbac8c3b567b14c01608b6
Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
|
|
And remove the info line setting that the API .
is added.
Change-Id: I42e247036b9a1016797bb2674ad95f8a8c30e9be
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
Some english improvement of the documentation.
Change-Id: I066c41d657a1921ed7dcc46dafcc7c65d122239c
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
Change-Id: Ibadaf6f41e39cce398d33a2a2a73751d68dad34d
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
Change-Id: Ia9fc00fbb04a27a46dd66cb60e9b359645f9dc11
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
Change-Id: I4e4c2f337ae61a3399c7c97cfd028411f1471f98
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
A copy-paste error!
Change-Id: Iaf7bd9f3cbd62cddfbab04fecc685f334f983175
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
Fix a tiny error in the migration script and improve it.
Fix declaration of afb_daemon_get... without args for
binding V3 compatibility.
Fix declaration of afb_api_event_handler_...
Fix the correct URL to the sed script:
valid: https://git.automotivelinux.org/src/app-framework-binder/plain/docs/migration-to-binding-v3.sed
invalid: https://git.automotivelinux.org/src/app-framework-binder/tree/docs/migration-to-binding-v3.sed
Bug-AGL: SPEC-1595
Change-Id: I245b20a9c14634a94c69420312afbd97628bc750
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
Change-Id: Ia735f23a473849d130992c32c312213533311736
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
The functions afb_api_set_verbs_v3 and afb_api_delete_api
were missing.
Change-Id: Icab928984dd6620b8b3920d0406aeb3cb35c9428
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
The previous version was confusing and was expecting
that onneed and share_session were always true.
Removing this parameter simplifies the code.
Also handle errors of required classes and apis at initialisation.
Change-Id: I7c99aa356cba41f368bd47cab797fa086a5740af
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
Versions of json-c older than 0.12 doesn't have
the function json_object_new_double_s.
Change-Id: If34c36ddcfabb3796aeb6739cd150e2b3e763679
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|
|
The function readlink doesn't add a terminating null.
This patch fixes that were needed.
Change-Id: Ie15309471fe8203c8e98b97315c4ea30de3ccd75
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
|